这个问题的初衷是想手动去实现v-model
这个指令,由于v-model
会将value
传入子组件,并且会监听子组件的input
事件。
即下面两种写法的效果是一样的
<child v-model="value"></child>
<child :value="value" @input="(val) => {value = val}"></child>
实现v-model
的过程中,目前的效果如链接所示还需要手动传入value
(https://codepen.io/anon/pen/Q...)。
尝试了不少方法,包括修改vnode
,估计是太菜了,都没办法省掉手动传入value
这一步,希望大家给点思路或者解决方案,感谢。
原码是通过操作
AST
来控制v-model
实现方式的,具体可查看这里平时开发用
v-model | .sync 修饰符
即可满足 “双向绑定”的需求。