wepy在onLoad里修改data-object的值页面不渲染
2018-09-05 本文已影响0人
kangaroo_v
大学路真美啊
挠头
wepy的坑真的是千奇百怪啊...
先来看看代码
//html 伪代码
//<text>{{ userInfo.nickName }}</text>
data = {
userInfo: null
}
onLoad() {
let that = this
wx.getUserInfo({
success:function(res){
if(res.rawData){
that.userInfo = JSON.parse(res.rawData)
that.$apply()
}
}
})
}
methods = {
change(){
this.userInfo.nickName = '布拉拉'
}
}
我们在某个不知名的page页的onLoad钩子里获取了一个数据 并且赋值给userInfo
之后再页面上展示出来..
看上去没毛病是吧 小程序编辑器里也没毛病BUT!!! 还是那句话 wepy的坑真多啊
再真机测试的时候问题出现了
值改变了...页面没更新!! 脏检查也无效!! 这是为什么呢??
挠头
捣鼓了挺久的也没解决出来 之后看看原生怎么改的 发现原生的方法可以
let user = "userInfo.nickName"
this.setData({
[user]:'XxX'
})
很迷 用这样的方式就可以刷新页面了...之后再研究一下如何用wepy的方式刷新页面