A页面与B页面数据互通,A页面传递数据给B页面没问题,跳转就可以,B页面卸载如何传递数据给A页面?
答:那简单啊,直接B页面跳转带参数回到A页面,怎么来的我怎么回去。那有这么简单,除非你写个按钮,
但是你别忘了用户手机有个返回键,轻轻一按你就完蛋!
我这里实现方案也很简单 ,A页面用到
onShow
B页面用到getCurrentPages()
获取页面栈
A 页面 执行onShow
你的有个模拟的状态 比如在A页面的是0 ,B页面回传的时候该状态为1
当执行onShow
是1时 执行你的逻辑
实现的代码我不贴,我把核心的贴出来( 仅做参考
),因为每个业务场景不一样,具体怎么实现自己动动手就可以了,思路有了就好办!下面的代码AB页面共同调用封装在一起!
class Stickcur {
/*pageState @用于记录页面跳转状态 */
constructor() {
this.appName = '淘宝购物';
this.jumpData={}; //跳转前数据
this.returnData ={}; //返回后数据
this.pageState = 0; //页面状态
this.currentTab = null; //当前操作的类目
this.itemKey = null; //循环的数组
this.key = null; //数组下的那条数据
//跳转前数据处理
jumpPagedata(data){
this.jumpData=data
}
//子页面返回数据处理
returnPagedata(data){
this.returnData=data
}
//修改当前数据
updateData(){
let jumpData = this.jumpData, //跳转前数据
returnData = this.returnData, //跳转后数据
orBrowse = jumpData.browse, //浏览量
orLike = jumpData.likeSate, //点赞状态
orReply = jumpData.replyArr,//评论量
newBrowse = returnData.browse,
newLike = returnData.likeSate,
newReply = returnData.replyArr,
newObj={};
if (newBrowse > orBrowse){
newObj.browse = newBrowse
}
if (newLike != orLike && newLike == true || newLike != orLike && newLike == false) {
newObj.like = { likeSate: returnData.likeSate ,likeArr:returnData.likeArr}
}
if (newReply.length > orReply.length) {
newObj.replyArr = newReply
}
return newObj
}
//更改页面状态
updatePagestate(stateNumber){
this.pageState = stateNumber
}
//初始化数据
initData(){
this.jumpData = {}; //跳转前数据
this.returnData = {}; //返回后数据
this.pageState = 0 //页面状态
this.currentTab = null; //当前操作的类目
this.itemKey = null; //循环的数组
this.key = null; //数组下的贴
}
}
export { Stickcur };
网友评论