微信小程序的数据绑定
微信小程序的数据绑定是单向绑定,是从js文件到wxml文件。
上代码说明
新建一个dataBind页面
dataBind.js
dataBind.wxml
Data中的数据也可以动态设置
onLoad: function (options) {
var data1 = {
str2: "数据绑定2",
sub: {
str3: "数据绑定3"
},
imgPath:"/images/dataBind/timg.jpg"
}
this.setData(data1);
},
<!--pages/dataBind/dataBind.wxml-->
<view class="container">
<text>{{str1}}</text>
<text>{{str2}}</text>
<text>{{sub.str3}}</text>
<image src="{{imgPath}}"></image>
</view>
我们要注意到在两个标签中间引用数据的语法是{{str1}}
在标签上语法要注意的是”{{str1}}”
特别需要注意的是
条件渲染对变量的使用
onLoad: function (options) {
var data1 = {
str2: "数据绑定2",
sub: {
str3: "数据绑定3"
},
imgPath:"/images/dataBind/timg.jpg",
isShow:false
}
this.setData(data1);
},
<!--pages/dataBind/dataBind.wxml-->
<view class="container">
<text wx:if="false">{{str1}}</text>
<text wx:if="{{false}}">{{str2}}</text>
<text wx:if="{{isShow}}">{{sub.str3}}</text>
</view>
从表面上看三个字符串都应该不显示,实际测试结果如下:
从测试结果可以看出wx:if=”false”判断的是字符串是否为空,并没有取boolean值,正确的写法应该是wx:if="{{false}}"。
基本的数据绑定就是这样了。
如果要想从wxml向js写数据,就涉及到事件绑定了。