vue 双向绑定的一个问题

image.png
像这种引用data里同个属性的,是用了一个Dep还是两个呢
即,是一个dep里有2个回调(更新视图)
还是2个dep,分别对应1个回调

阅读 1.8k
3 个回答

仔细看了下源码,每个vue组件只有一个watcher,所以只有一个dep。当重复用count时,第一次会把updateComponent作为回调传入,第二次开始,会判断这个dep的id是否已存在,存在则不会再存了

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拦截到数据变化再对视图进行了更新

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题