微信小程序setdata方法
微信小程序中有时候需要从其他位置获取数据在前端调用
一般会用到小程序中封装好的setdata方法:
/** `setData` 函数用于将数据从逻辑层发送到视图层
*(异步),同时改变对应的 `this.data` 的值(同步)。
*
* **注意:**
*
* 1. **直接修改 this.data 而不调用 this.setData 是无法改变页面的状态的,还会造成数据不一致**。
* 1. 仅支持设置可 JSON 化的数据。
* 1. 单次设置的数据不能超过1024kB,请尽量避免一次设置过多的数据。
* 1. 请不要把 data 中任何一项的 value 设为 `undefined` ,否则这一项将不被设置并可能遗留一些潜在问题。
*/
setData(
/** 这次要改变的数据
*
* 以 `key: value` 的形式表示,将 `this.data` 中的 `key` 对应的值改变成 `value`。
*
* 其中 `key` 可以以数据路径的形式给出,支持改变数组中的某一项或对象的某个属性,如 `array[2].message`,`a.b.c.d`,并且不需要在 this.data 中预先定义。
*/
data: Partial<D> & IAnyObject,
/** setData引起的界面更新渲染完毕后的回调函数,最低基础库: `1.5.0` */
callback?: () => void
): void
代码示范:
WXML:
<view>
<button bindtap="change_data"></button>
<text>{{text_data}}<text>
</view>
JavaScript:
page({
data:{
text_data:"",
},
change_data:function(){
var that = this,
var test_text = "11111",
wx.showModal{
content:'是否确认修改数据',
success:function(){
that.setData({
text_data:test_text,
})
}
}
}
})