18720358503 在线客服 人才招聘 返回顶部
企业动态 技术分享 行业动态

湖南省轿车微信小程序_解决Vue2.x父组件与子组件

2021-01-08分享 "> 对不起,没有下一图集了!">
解决Vue2.x父组件与子组件之间的双向绑定问题       这篇文章主要介绍了解决Vue2.x父组件与子组件之间的双向绑定问题,需要的朋友可以参考下

最近在研究如何写一套基于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父组件与子组件之间的双向绑定问题法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对凡科网站的支持!


"> 对不起,没有下一图集了!">
在线咨询