无法监测 vm.data中 类型为Object的属性变化
aswind7 opened this issue · 2 comments
aswind7 commented
eg.
el: '#app',
data: {
title: 'hello world',
name: 'canfoo',
obj: {
c: 3
}
},
此处 如果执行 obj.c = 4
, 不会被监听,因为我看到 watcher.js中 这段逻辑
var value = this.vm.data[this.exp];
var oldVal = this.value;
if (value !== oldVal) {
引用类型 , 不会进入此if判断。
****************************************分割线***************************************
问题2: 并且 compile.js无法编译 这样的东西 <h1>obj c: {{obj.c}}</h1>
aswind7 commented
可以改一下 这个 来解决编译的问题:
将 var initText = this.vm[exp];
改为 var initText = eval('this.vm.' + exp);
canfoo commented
好的,谢谢建议啊