在wxml页面中获取data里边的值是无论时候都是可以获取到已经修改过的最新的值
在js文件中的两种情况:
- 情况一:在onLoad中有
setData
假如在onLoad方法中有setData中,那么在js其他的方法都可以获取到最新的值;不过在setData之前打印依然是页面初始值
在.js中:
data: {
str:"测试"
},
onLoad: function (options) {
console.log(this.data.str) //测试
this.setData({
this.data.str= "我修改你了。。。"
})
console.log(this.data.str) //我修改你了。。
},
在.wxml中:
<view>
{{test}}
</view>
<!--我修改你了。。。-->
- 情况二:在onLoad中没有
setData
在js页面中如果想用this.data.str
获取值的时候,没有setData在前边已经设置了值的话只能获取到页面的初始值,必须的有setData设置以后才可以获取到最新的值,后边的两个方法没有setData所以打印的是初始值
getHttp() {
console.log(this.data.str) //测试
this.setData({
str: "我已经修改了你了。。。。"
})
console.log(this.data.str) //我已经修改了你了。。。。
},
onReady: function () {
console.log(this.data.str) //测试
},
/**
* 生命周期函数--监听页面显示
*/
onShow: function () {
console.log(this.data.str) //测试
},
总结:如果onload中有setData的话,那么页面其他方法都可以获取到最新设置的值;如果是没有setData的话,那么在其他方法里边必须先使用了setData才可以获取到最新的值