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, }, },