2017-09-25 72 views
3

在我的主网页我有下拉列表,通过点击链接@click = "show=!show"显示v-show=show,我想设置show=false当我改变路线。请告诉我如何实现这件事。Vuejs:事件对路由变化

回答

8

安装在您的组件这样的0​​观察者:

watch:{ 
    $route (to, from){ 
     this.show = false; 
    } 
} 

此观察路线的变化和改变时,设置show

0

如果您正在使用V2.2.0再有就是还有一个选项可用于检测$路线中的更改。

作出反应PARAMS在同一组件的变化,你可以简单地看$路由对象:

const User = { 
    template: '...', 
    watch: { 
    '$route' (to, from) { 
     // react to route changes... 
    } 
    } 
} 

或者,使用beforeRouteUpdate后卫在2.2中引入:

const User = { 
    template: '...', 
    beforeRouteUpdate (to, from, next) { 
    // react to route changes... 
    // don't forget to call next() 
    } 
} 

参考:https://router.vuejs.org/en/essentials/dynamic-matching.html