本文详解微信小程序中如何通过setData同步修改data数据并实时更新视图。涵盖简单字符串参数、已知下标数组元素以及动态下标数组的修改方法,提供WXML与JS代码示例,解决数据变更不渲染的问题。
微信小程序数据更新概述
熟悉Vue开发的开发者知道,修改data中的参数后,视图层会立即自动更新。但在微信小程序中,操作data参数并触发视图及时更新的方式有所不同,本文将介绍具体实现方法。
简单参数的修改方法
一、简单参数
XX.wxml
简单参数示例代码
<view>
<text>{{str}}</text>
</view>
<button bindtap="change">改变</button>
XX.js
Page({
data: {
str:'早上好'
},
change: function() {
this.setData({
str:"晚上好"
})
}
})
已知下标数组的修改方法
二、已知下标的数组
XX.wxml
已知下标数组示例代码
<view>
<text>{{array[0].text}}</text>
</view>
<button bindtap="change">改变</button>
XX.js
Page({
data: {
array: [{text: '早上好'}],
},
change: function() {
this.setData({
'array[0].text':'晚上好'
})
}
})
动态下标数组的修改方法
三、动态下标的数组
XX.wxml
动态下标数组示例代码
<view>
<block wx:for="array" wx:key="index">
<text>{{item.text}}</text>
<button bindtap="change" data-index="index">改变</button>
</block>
</view>
<button bindtap="change">改变</button>
XX.js
Page({
data:{
array:[
{text:'1111'},
{text:'2222'},
{text:'3333'}
]
},
change:function(e){
let param = {};
let string = "array["+e.target.dataset.index+"].text;
param[string] = '0000';
this.setData(param);
}
})
总结
以上所述是小编给大家介绍的微信小程序js文件改变参数并在视图上及时更新,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对本站网站的支持!