vue.js - vue 中的 watch 属性是生命周期钩子吗?
问题描述
watch
vuejs 生命周期钩子中是否包含任何属性?
在这里,您可以看到codepen的摘录:
const myMixin = {
methods: {
increment(){
console.log('methods from mixins')
this.myData+=2
}
},
watch:{
myData(){
console.log('watcher from mixins')
}
}
}
new Vue({
el: '#app',
mixins:[myMixin],
data: function () {
return {
myData: 0
}
},
methods:{
increment(){
console.log('methods from comp')
this.myData++
}
},
watch:{
myData(){
console.log('watcher from component')
}
}
});
myData
来自 myMixin 的观察者和组件的被调用。然而,来自组件的正常方法被覆盖。
在文档中说:
将同名的钩子函数合并到一个数组中,这样所有的钩子函数都会被调用。Mixin 钩子会在组件自己的钩子之前被调用。
但是,watch
不是钩子函数/生命周期钩子吗?
解决方案
所有键的默认合并策略的逻辑可以在 Vue repo的vue/blob/dev/src/core/util/options.js文件中找到。
正如您将在第 208 行看到的那样,该watch
键具有特殊的合并策略,该策略会导致创建一个数组(类似于挂钩的逻辑)。
推荐阅读
- javascript - Javascript 从 URL 获取数据
- node.js - Office JS CORS 问题
- c# - 您可以使用 Razor 页面建立一对多关系吗?
- swift - iOS Firebase RTDB 观察者 - 删除不再存在的路径的观察者
- office-js - macOS 上的 Excel 内容加载项:对话框消失
- python-3.x - 如何将python依赖项添加到目录中?
- firebase - Firebase 云消息传递和 Firebase 应用内消息传递有什么区别
- video - ffmpeg 将一个视频叠加在另一个视频上,只保留叠加视频的声音
- jestjs - waitFor 不会再次运行回调
- sql-server - 查看,按总和截断小数分组