DMQ / mvvm

剖析vue实现原理,自己动手实现mvvm
5.21k stars 1.26k forks source link

call( )函数和dep问题 #12

Closed 1053061407 closed 6 years ago

1053061407 commented 7 years ago

请问项目中的watcher.js和compile.js中的call函数是什么意思啊,没有找到call函数的实现啊。也看不懂。 还有一个问题就是为什么 child.name 是个新值,之前的 setter、dep 都已经失效?

DMQ commented 7 years ago

call是函数的原生方法。。要补补基础了 child.name是新值这里的注释快里有说到是通过vm.child={}重新赋值成一个新对象了,所以之前define的setter和getter会失效,所以对于child.name的监听就失效,但是在setter函数里会对新的对象进行重新绑定,保证了数据的持续性