vue中的监视属性函数中监视某个变量,在其handler函数中写全局事件总线,无法执行的原因?
你好 $bus.$on为注册事件 正常来将你应该是想数据变化时 触发事件吧? 而不是注册事件 因为你监听的这个值应该会多次变化把,所以 你是不是想写的应该是$bus.$emit触发事件. 如果是注册 在一个生命周期注册即可 不需要监听数据变化而去注册
基本用法是是值变化时候,watch才执行,想让值最初时候watch就执行用到了handler和immediate属性
watch: {
firstName: {
handler(newName, oldName) {
this.fullName = newName + ' ' + this.lastName;
},
// 代表在wacth里声明了firstName这个方法之后立即先去执行handler方法,如果设置了false,那么效果和上边例子一样
immediate: true
}
}