vue中的监视属性函数中不能写全局公共事件总线吗

vue中的监视属性函数中监视某个变量,在其handler函数中写全局事件总线,无法执行的原因?

img

你好 $bus.$on为注册事件 正常来将你应该是想数据变化时 触发事件吧? 而不是注册事件 因为你监听的这个值应该会多次变化把,所以 你是不是想写的应该是$bus.$emit触发事件. 如果是注册 在一个生命周期注册即可 不需要监听数据变化而去注册

  • 这篇博客: vue监听数据改变中的 二、handler方法和immediate属性 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:
  • 基本用法是是值变化时候,watch才执行,想让值最初时候watch就执行用到了handler和immediate属性

    watch: {
      firstName: {
        handler(newName, oldName) {
          this.fullName = newName + ' ' + this.lastName;
        },
        // 代表在wacth里声明了firstName这个方法之后立即先去执行handler方法,如果设置了false,那么效果和上边例子一样
        immediate: true
      }
    }