欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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

程序员文章站 2022-06-29 22:56:23
问题背景: 点击用户头像 => 进入用户个人中心,在用户个人中心里点击其他用户的头像,我希望显示被点击用户的个人中心,但只看到了路由参数在发生变化,页面内容并没有更...

问题背景:

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

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 观察路由变化,重新获取内容

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