vue中watch和 computer的区别,在路由跳转的时候,获取值问题

项目中用到 如下的树状目录, 每一相同层级 使用同一个路由,根据路由参数的不同 渲染不同的页面。
图片描述

在树状目录中,点击每个节点会将当前的 node 信息commit 到 vuex 的 currentNode 中,现在我在组件中来更新当前的node 信息 获取node的id;
有个问题想不通:
刚开始的时候 准备用

    watch: {
         $route(val, newval){
          //获取URL中的nodeId
        }
    }

但是当点击同一层级节点跳转的时候,watch是可以生效的;但是点击不同层级节点的时候,watch不生效。

然后在组件中使用 computer 计算属性 通过Vuex的全局node信息,可以实时的获取id;

computed: {
        currentNode(){
            return this.$store.state.currentNode
        }
    }

请问这个是为什么呢???

阅读 4.6k
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题