您好,欢迎访问一九零五行业门户网

Vue2父组件与子组件的双向绑定怎么实现

这次给大家带来vue2父组件与子组件的双向绑定怎么实现,vue2父组件与子组件的双向绑定实现的注意事项有哪些,下面就是实战案例,一起来看一下。
最近在研究如何写一套基于vue2.x的ui组件给自己用,提升一点big,在制作含有input的组件遇到一个问题:不知怎样才能把子组件中input与调用者(父组件)的数据实现双向绑定,想过使用vuex,但观摩了一下其他优秀的ui框架,发现使用vuex会给其他使用者造成麻烦,于是决心找到寻求解决方法,在参考了几篇大牛们文章后,终于找到。
在这将解决方案贴出,希望能帮助到和我一样初次接触vue这个框架的同行们。
子组件的代码逻辑
<template>   <p class="ne-ipt">    <input type="text" v-model="currentvalue">   </p>  </template>    <style lang="less" scoped>   @import ../../assets/styles/form/form.less;  </style>  <script>   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触发父组件      }     }    }   }  </script>
父组件代码逻辑
<template>   <p id="button-index">    <ne-ipt placeholder="姓名" v-model="test"></ne-ipt>   </p>  </template>  <style>  </style>  <script>   import neipt from './neipt'   export default {    name: 'form-index',    data () {     return {      test: ''     }    },    components: {     neipt    }   }  </script>
在修改子组件的currentvalue的时候其实通过$emit触发input事件将值传递给调用者的v-model,从而实现双向绑定。
相信看了本文案例你已经掌握了方法,更多精彩请关注其它相关文章!
推荐阅读:
django怎么实现文件下载功能
vue中怎样引用本地静态图片
以上就是vue2父组件与子组件的双向绑定怎么实现的详细内容。
其它类似信息

推荐信息