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

2019-11-22,,,,

问题背景:

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

页面代码如下:

<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.js每天必学之计算属性computed与$watch
  • vue.js中$watch的用法示例
  • 谈谈VUE种methods watch和compute的区别和联系
  • 详解vue2 $watch要注意的问题
  • Vue.js计算属性computed与watch(5)
  • vue如何实现observer和watcher源码解析
  • Vue.js 中的 $watch使用方法
  • 深入对Vue.js $watch方法的理解
  • Vue.Js中的$watch()方法总结
  • Vue.js中关于侦听器(watch)的高级用法示例

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

下载本文的Word格式文档,以方便收藏与打印。