小程序里面的双向绑定和vue中的双向绑定有什么区别?

我心飞翔 分类:vue

小程序中的数据双向绑定
. 首先通过 bindinput 绑定文本框的输入事件
    . 在 data 中声明一个变量 content ,将其动态绑定成文本框的 value 值
    . 在 bindinput 事件中通过事件参数 e.detail.value 可以获取到文本框中最新的 value 值
    . 通过 this.setData 将文本框最新的  value 值 赋值给 动态绑定的value值 content  即可实现数据的双向绑定

vue中的数据双向绑定
. 首先为文本框绑定 @input 监听文本框的输入事件
    . 为文本框动态绑定 value 属性,其值是在data中定义的变量
    . 在 @input绑定的事件中 通过事件参数 event.target.value 可以获取到 input 框中最新的value值
    . 将其重新获取到的 value 赋值给 value值动态绑定的那个变量

区别:
大体上区别不大,绑定事件不同,以及获取value值的具体方式不同,以及在小程序中设置data中的数据,需要调用 this.setData方法进行设置

在vue中进行数据绑定后,当数据修改了会直接更新到视图上,但是在小程序中呢,data数据修改是不会直接同步到,必须调用this.setData()这个方法

例:

data:{
 arr:[{name:"小李"},{name:"小王"}],
 list:[{name:"小明"},{name:"小红"}]
},
setMsg(){  //该方法可以绑定到事件上也可以在onLoad里面调用  
  this.data.arr = this.data.list
   this.setData({
    arr:this.data.arr, // 简单粗暴直接修改
    ["list[0].name"]:"小张"  //也可以只修改里面的一项,
   })
}

回复

我来回复
  • 暂无回复内容