Vue中用如何用指令向子组件传递数据

这个问题的初衷是想手动去实现v-model这个指令,由于v-model会将value传入子组件,并且会监听子组件的input事件。

即下面两种写法的效果是一样的

<child v-model="value"></child>

<child :value="value" @input="(val) => {value = val}"></child>

实现v-model的过程中,目前的效果如链接所示还需要手动传入valuehttps://codepen.io/anon/pen/Q...)。

尝试了不少方法,包括修改vnode,估计是太菜了,都没办法省掉手动传入value这一步,希望大家给点思路或者解决方案,感谢。

阅读 1.9k
2 个回答

原码是通过操作 AST 来控制 v-model 实现方式的,具体可查看这里
平时开发用 v-model | .sync 修饰符 即可满足 “双向绑定”的需求。

推荐问题