首页 > 编程开发 > JavaScript    日期:2020-05-27 / 浏览

问题背景:

点击用户头像 => 进入用户个人中心,在用户个人中心里点击其他用户的头像,我希望显示被点击用户的个人中心,但只看到了路由参数在发生变化,页面内容并没有更新。如图:

vue使用watch 观察路由变化,重新获取内容

页面代码如下:

<script>
  export default {
    data() {
      return {
        data: {}
      }
    },
    methods: {
     fetchDate() {
     // 使用 axios获取数据
     ......
    },
    created() {
     this.fetchDate();
    }
  }
</script>

解决办法:

使用 watch,观察路由,一旦发生变化便重新获取数据!

<script>
  export default {
    data() {
      return {
        data: {}
      }
    },
    methods: {
     fetchDate() {
     // 使用 axios获取数据
     ......
    },
    created() {
     // 组件创建完后获取数据,
     // 此时 data 已经被 observed 了
     this.fetchDate();
    },
    watch: {
     // 如果路由有变化,会再次执行该方法
     "$route": "fetchDate"
    }
  }
</script>

vue使用watch 观察路由变化,重新获取内容

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。

觉得上面的内容有用吗?快来点个赞吧!

点赞() 我要打赏

温馨提示 : 本站内容来自会员投稿以及互联网,所有源码及教程均为作者总结编辑,请大家在使用过程中提前做好备份,以免发生无法预知的错误,源码类教程请勿直接用于生产环境!

 可能感兴趣的文章