vue的双向绑定

vue的双向绑定

双向绑定:
  v-model:	创建双向数据绑定(M<->V) , 用在能生产数据的表单元素
    input/radio/select/.....  绑定的是表单元素的  value值 checked 

单向绑定模拟双向绑定:
  :value="...."   model->view
  v-on:input="fn($event.value)"  输入时把事件对象的value携带到方法,方法修改了model
  <div class="app">

    <h3>v-model双向绑定</h3>

    <input type="text" v-model="iptName">
    {{iptName}}

    <h3>手动实现双向绑定</h3>
    <input type="text" :value="iptName2" @input="changeIptName2">
    {{iptName2}}

  </div>

  <script>
    let vm = new Vue({//配置选项
      el:'.app',
      data:{ 
        iptName:'heheda',
        iptName2:'asdfasdf'
      },
      methods:{
        changeIptName2(ev){
          this.iptName2 = ev.target.value
        }
      }
    })
  </script>

那么双向绑定的原理是什么?
我们先从MVVM了解,MVVM即数据(data)变化更新视图(view),视图(view)变化更新数据(data)
原理就是通过Object.defineProperty() 方法来实现,具体的可参考https://www.cnblogs.com/wangjiachen666/p/9883916.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值