如何传递input的数据至另一页面在视图层显示?
一、当该页面隐藏时,将本页面的现时(this)的值,传递(=)给全局的变量仓库临时存放,当这小程序退出并销毁时,仓库清空。
/**
* 生命周期函数--监听页面隐藏
*/
onHide() {
App.onstorage.Scr_app = this.data.Scr;//监听到该页面隐藏时,临时传递Scr数据到全局仓库App.onstorage.Scr_app中
App.onstorage.Age_app = this.data.Age;//监听到该页面隐藏时,临时传递Age数据到全局仓库App.onstorage.Age_app中
},
二、全局App中设定变量仓库
App({
onstorage:{
Scr_app:'',
Age_app:'',
},
onLaunch() {
}
})
三、在目标页面js中接受全局的变量数据定义
// pages/epicysc/epicysc.js
const App = getApp();
四、在onLoad或onShow监听生命周期函数中插入并接受来自于全局变量的数据
/**
* 生命周期函数--监听页面显示
*/
onShow() {
let Scr = App.onstorage.Scr_app;//接受来自全局变量App.onstorage.Scr_app的数值
let Age = App.onstorage.Age_app;//接受来自全局变量App.onstorage.Age_app的数值
this.setData({
Scr:Scr,
Age:Age
})
},
五、在目标页面wxml中显示全局传过来的数据
<view class="box3">
<view>血清肌酐:</view>
<input class="box2" value="{{ Scr }}" type="digit" maxlength="7" placeholder="输入血肌酐浓度" bindinput="bindScr" focus="ture"></input>
<view>(umol/L)</view>
</view>
六、总结
其它数据也可以这样传递。
这种通过⽤全局变量作为中介,把数据从一个源页面传到另一个页面。适合以⼩程序启动到彻底关闭为周期的的数据,且在很多页面都要使用这个数据的,建议这存储在app.js⽂件夹中。