这篇文章主要介绍了解决vue2.x父组件与子组件之间的双向绑定问题,需要的朋友可以参考下
最近在研究如何写一套基于Vue2.x的UI组件给自己用,提升一点BIG,在制作含有input的组件遇到一个问题:不知怎样才能把子组件中input与调用者(父组件)的数据实现双向绑定,想过使用Vuex,但观摩了一下其他优秀的UI框架,发现使用Vuex会给其他使用者造成麻烦,于是决心找到寻求解决方法,在参考了几篇大牛们文章后,终于找到。
在这将解决方案贴出,希望能帮助到和我一样初次接触Vue这个框架的同行们。
子组件的代码逻辑
@import "../../assets/styles/form/form.less"; export default { name: 'NeIpt', props: { // 接收一个由父级组件传递过来的值 value: { type: String, default: function () { return '' } } }, computed:{ currentValue: { // 动态计算currentValue的值 get:function() { return this.value; // 将props中的value赋值给currentValue }, set:function(val) { this.$emit('input', val); // 通过$emit触发父组件 } } } }
登录后复制
父组件代码逻辑
立即学习“前端免费学习笔记(深入)”;
import NeIpt from './NeIpt' export default { name: 'form-index', data () { return { test: '' } }, components: { NeIpt } }
登录后复制
在修改子组件的currentValue的时候其实通过$emit触发input事件将值传递给调用者的v-model,从而实现双向绑定。
上面是我整理给大家的,希望今后会对大家有帮助。
相关文章:
使用vue+element-ui+ajax这几样技术,实现一个表格的实例
vue注册组件的几种方式总结
Vue.js自定义事件的表单输入组件方法
以上就是有关在Vue2.x中父组件与子组件双向绑定(详细教程)的详细内容,更多请关注【创想鸟】其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。
发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2752385.html