首页 > 技术文章 > vue中用watch监听当前路由

fqh123 2019-06-26 18:16 原文

之前做项目时,特别是后台项目,左边都有侧边栏,我们需要做到点击某个侧边栏的项让这个项高亮,之前采用的是给每个项绑定一个值,点击某个项时,就将这个值付给一个变量,在每一项上判断这个变量是否与每项上的值相等,从而使对应项高亮,

但是最近在vue-element-admin上看到的是,他的侧边栏其实就是路由的配置,只要配置路由,就会在侧边栏显示,于是,他采用了监听$route的方式来确定当前页,从而确定哪一项高亮,而且前进后退也不会出现其他问题,下面上一个代码,

从此让你知道$route也是可以这样使用!!!

    watch:{
        $route:{
            handler(newRouter){
                this.curTagName=newRouter.name;
            },
            immediate: true
        }
    },

另外,利用好$router中的路由元信息,是可以做出好多东西的,比如说面包屑,这些vue-element-admin上都有体现!!!

 

 

 

下面是计算属性和watch的配合使用   可以监听对象里的某一个值

computed:{

        testText1 () {

            return this.test.text1

        }

    },

    watch:{

        testText1: {

            dosomething (newVal,oldVal){

                // code

            }

        }

    }

}

 

推荐阅读