vue.js怎么监听路由变化


本文摘自PHP中文网,作者coldplay.xixi,侵删。

vue.js监听路由变化的方法:1、通过watch实现,代码为【watch:{$route(to,from){console.log(to.path);}】;2、key是用来阻止“复用”的,代码为【<router-view :key= 】。

本教程操作环境:windows10系统、vue2.9,本文适用于所有品牌的电脑。

【相关文章推荐:vue.js

vue.js监听路由变化的方法:

方法一:通过 watch

1

2

3

4

5

6

// 监听,当路由发生变化的时候执行

watch:{

  $route(to,from){

    console.log(to.path);

  }

},

1

2

3

4

5

6

7

8

9

10

// 监听,当路由发生变化的时候执行

watch: {

  $route: {

    handler: function(val, oldVal){

      console.log(val);

    },

    // 深度观察监听

    deep: true

  }

},

1

2

3

4

5

6

7

8

9

// 监听,当路由发生变化的时候执行

watch: {

  '$route':'getPath'

},

methods: {

  getPath(){

    console.log(this.$route.path);

  }

}

方法二:key是用来阻止“复用”的

Vue 为你提供了一种方式来声明“这两个元素是完全独立的――不要复用它们”。只需添加一个具有唯一值的 key 属性即可(Vue文档原话)

1

2

3

4

5

6

7

<router-view :key="key"></router-view>

  

computed: {

  key() {

    return this.$route.name !== undefined? this.$route.name +new Date(): this.$route +new Date()

  }

}

使用computed属性和Date()可以保证每一次的key都是不同的,这样就可以如愿刷新数据了。

方法三:通过 vue-router 的钩子函数 beforeRouteEnter beforeRouteUpdate beforeRouteLeave

阅读剩余部分

相关阅读 >>

vue.js怎么引入bootstrap

vue.js怎样定义变量

vue.js中component怎么用

浅谈安装vue.js的三种方式

vuex中映射的完整指南

vue.js页面间如何实现传值

vue.js怎样配置跨域文件

如何编写出vue.js菜单组件

vue.js怎么给input添加事件

vue.js如何使用filter

更多相关阅读请进入《vue.js》频道 >>




打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...

    暂无评论...