像这种引用data里同个属性的,是用了一个Dep还是两个呢
即,是一个dep里有2个回调(更新视图)
还是2个dep,分别对应1个回调
data里的属性只会watcher Observer一次,watcher Observer里只有一个dep。再说回调,回调是render函数,整个teample是一个render回调函数,如果你两个input是放在一块的,那么就一个回调
v-model可以拆解为两个部分,
例如v-model="count"
等同于
:value="count"
@input="val=>count=val"
所以在这个场景里面
改变了一个input,然后会触发input事件,通过该input对count进行赋值
然后是vue拦截到数据变化再对视图进行了更新
5 回答4.9k 阅读✓ 已解决
4 回答3.2k 阅读✓ 已解决
2 回答4.8k 阅读✓ 已解决
4 回答4.4k 阅读✓ 已解决
4 回答1.9k 阅读✓ 已解决
2 回答2.7k 阅读✓ 已解决
2 回答2.6k 阅读✓ 已解决
仔细看了下源码,每个vue组件只有一个watcher,所以只有一个dep。当重复用count时,第一次会把updateComponent作为回调传入,第二次开始,会判断这个dep的id是否已存在,存在则不会再存了