深入研究v-model(实现父子组件数据同步)

本文详细介绍了Vue中v-model指令的基本用法,包括如何实现数据的双向绑定,并演示了如何通过value和input事件实现父子组件间的通信。实例代码和原理剖析有助于理解Vue组件间数据共享的关键技术。
摘要由CSDN通过智能技术生成

1.在Vue中v-model最简单最常用的数据双向绑定

它是Vue框架中的指令,主要结合表单元素一起使用(文本框,复选框等)

<template>
  <div>
    <!-- v-model数据双向绑定 -->
    <input type="text" v-model="msg">
    <span>{{msg}}</span>
  </div>
</template>

<script>
export default {
  data() {
    return {
      msg:'今天也要加油'
    }
  },
}
</script>

实现效果

 

 2.深入研究v-model

实现父子组件通信,即实现数据同步

实现原理:用value和input事件实现

父组件:

<!-- v-model 父子组件通信 
          :value是父组件传给子组件的props
          @input是自定义事件-->
    <child type="text" :value="msg" @inputmsg="msg=$event"/>
    <!-- 简写形式 -->
    <child v-model="msg"/>

 子组件:

<template>
  <div>
     <!-- :value是动态属性
      @input是原生dom事件 
      接收的值是父组件传递的msg-->
    <input type="text" :value="value" @input="$emit('inputmsg',$event.target.value)">
    <span>{{value}}</span>
  </div>
</template>

<script>
export default {
  props:['value']
}
</script>

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值