在WXML中,普通属性的绑定是单向的,例如:<input value="{{value}}" />
如果希望用户输入数据的同时改变data中的数据,可以借助简易双向绑定机制。在对应属性之前添加model:前缀即可:
例如<input model:value="{{value}}" />
注意事项:简易双向绑定的属性值如下限制:
1.只能是一个单一字段的绑定,例如:错误用法:<input model:value="值为 {{value}}" />
2.尚不能写 data 路径,也就是不支持数组和对象,例如:错误用法:<input model:value="{{ a.b }}" />
<!--pages/cart/cart.wxml-->
<!-- 单向绑定:数据能够影响页面,但是页面更新不会影响数据 -->
<input type="text" value="{{ value }}"/>
<!-- 双向绑定:数据能够影响页面,页面更新也能够影响数据 -->
<!-- 如果想实现简易双向绑定,需要再对应的属性之前添加 model: -->
<input type="text" model:value="{{ value }}"/>
<!-- 如果需要犹取复选框的选中效果,需要给checked 添加 model:-->
<checkbox model:checked="{{ ischecked }}" />
<!-- 注意事项1:属性值只能是一个单一字段的绑定 -->
<!-- <input type="text" model:value="值为 {{ value }}" /> -->
<!-- 注意事项2:属性值不能写数据路径,也就是不支持对象和数组 -->
<!-- <input type="text" mode1;value="{{ obj.value }}" /> -->
// pages/cart/cart.js
Page({
data: {
value: 123,
isChecked: false,
obj: {
value: 123
}
}
})