微信小程序`input`双向绑定原理详解

7,680 阅读1分钟

前沿

本篇博文就好好了解一哈小程序的数据双向绑定的原理


  • 1,首先利用bindinput来触发改变input输入框中的值
  • 2,使用data-name来获取改变的数据的内容name自己取名
  • 3, bindinput触发后在方法中通过e.currentTarget.dataset.name来获取改变后的内容‘
  • 4, 通过this.setData()来改变data-name绑定的参数就好了 看下边的代码一目了然
//data-name绑定的值就是value的值,这样才能随时更新到value中
<input type="text" bindinput="inputEdit" data-name="inputValue" placeholder="姓名" value="{{inputValue}}">

在index.js中

Page({
    data:{
        inputValue:'测试数据双向绑定',
    },
   inputEdit(e){
   //data-开头的是自定义属性,可以通过dataset获取到dataset是一个json对象。
    //通过事件参数获取input所对应的全局属性名
        var inputModel = e.currentTarget.dataset.name;
      //通过value获取当前用户输入的内容
     var value = e.detail.value;
//将input所对应的全局属性的属性只更新
this.data[inputModel] = value;   
这个时候也就是说`data-name` 的值更新了,这里就是通过bindInput记录的value改变的值,存起来
  this. setData({
         inputValue:this.data[inputModel] 
   });
     
     }
})

结束语

还有许多不足的地方,还要学习。