最近在研究如何写一套基于Vue2.x的UI组件给自己用,提升一点BIG,在制作含有input的组件遇到一个问题:不知怎样才能把子组件中input与调用者(父组件)的数据实现双向绑定,想过使用Vuex,但观摩了一下其他优秀的UI框架,发现使用Vuex会给其他使用者造成麻烦,于是决心找到寻求解决方法,在参考了几篇大牛们文章后,终于找到。
在这将解决方案贴出,希望能帮助到和我一样初次接触Vue这个框架的同行们。
子组件的代码逻辑
template div input type="text" v-model="currentValue" /div /template style lang="less" scoped @import "../../assets/styles/form/form.less"; /style script export default { name: 'NeIpt', pro凡科抠图: { // 接收一个由父级组件传递过来的值 value: { type: String, default: function () { return '' computed:{ currentValue: { // 动态计算currentValue的值 get:function() { return this.value; // 将pro凡科抠图中的value赋值给currentValue set:function(val) { this.$emit('input', val); // 通过$emit触发父组件 /script
父组件代码逻辑
template div id="button-index" ne-ipt placeholder="姓名" v-model="test" /ne-ipt /div /template style /style script import NeIpt from './NeIpt' export default { name: 'form-index', data () { return { test: '' components: { NeIpt /script
在修改子组件的currentValue的时候其实通过$emit触发input事件将值传递给调用者的v-model,从而实现双向绑定。
总结
以上所述是小编给大家介绍的解决Vue2.x父组件与子组件之间的双向绑定问题法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对凡科网站的支持!
处理Vue2.x父部件与子部件中间的双重关联难题 本文关键详……
jQuery完成电脑鼠标点一下处心形飘浮的酷炫实际效果实例 ……
vue中子部件向父部件传送数据信息的案例编码(完成加减作用)……
extract-text-webpack-plugin使用方法详细说明 本文关键详细介绍……
Photoshop将花苑中的角色照片调制出唯美意境的金黄调PS同盟 公……
企业网站建设信达互连Cinda Net借助于本身的经营精英团队、技术……