1.问题重现:A页面 传文本到 B页面,B页面 在textarea中 显示文本。
2.代码
pagea.js
var desc = '我要在B页面的textarea中显示';
wx.redirectTo({
url: '../pageb/pageb?desc=' + desc,
})
pageb.js
onLoad: function (options) {
this.setData({
desc: options.desc
})
}
pageb.wxml
<textarea value="{{desc}}" maxlength="-1" class="weui-textarea" bindinput="descInput" style="height:160rpx;" />
你会发现,B页面textarea中根本没有显示 任何内容。
3.解决办法
在pageb.js onReady中,重新拿值赋值,就好了。。。
/**
* 生命周期函数--监听页面初次渲染完成
*/
onReady: function () {
this.setData({
desc: this.data.desc,
})
}
4.原因
可以看出是页面加载顺序 : onLoad 、页面组件渲染、onReady
这么小个问题,搞了我一下午,简直了。。。