1.问题重现:先来看下这段代码
watch: {
posInfo: {
handler: val => {
if (val) {
this.$nextTick(() => {
this.subform.lgtd = val.lgtd;
this.subform.lttd = val.lttd;
});
}
},
deep: true,
},
},
运行结果:Error "$nextTick" ........
输出一下this,发现是undefined
2.解决方案
箭头函数绑定了父级作用域的上下文,从而不会拿到Vue实例。所以在使用watch设置监听的时候,handler函数不应该使用箭头函数。
watch: {
posInfo: {
handler: function (val) {
if (val) {
this.$nextTick(() => {
this.subform.lgtd = val.lgtd;
this.subform.lttd = val.lttd;
});
}
},
deep: true,
},
},
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。