【管理员过来看看】小程序缺少页面间返回时传递数据(不是正向传递数据)的解决方案?
发布于 6 年前 作者 jing83 14351 次浏览 来自 问答

小程序正向的打开参数方式传递数据是有了,但没有考虑反向的页面返回数据的做法,该怎么做才方便又通用?我目前只是用事件通知的方式。

10 回复

第二个页面选择后,保存到全局,第一个页面在onshow时读取全局就可以了

其实你心里已经有答案了,在这里问了也是白问。

现在我用的是事件触发,也是一种解决方式,应该比全局更优一点吧,

但总觉得应该提供系统级别的解决方案才合理

除非他们之前没有想到这个问题。

暂时好像没有提供这种处理方式

关键是小程序没有提供这种方案出来用啊!就是希望官方可以考虑增加。

描述清楚点

比如打开一个页面,选择了一个商品,然后返回上一个页面,

此时应该同时也将选择的商品带回到上一个页面,但目前小程序只是页面返回,

数据返回并没有提供对应的方式处理

你这种方式,将两个页面绑的耦合的太紧了,

如果是一个比较通用的页面,好多个页面都要调用它来选择数据的话

你怎么处理?难道还要逐个的if或者case处理?

其实通过扩展已有的接口

wx.navigateBack({

delta: 1

})

很容易实现的,比如可带入返回参数

wx.navigateBack({

delta: 1,

data:{}  //这里是自定义要返回的数据

})

在上一级页面的onshow(optins)里

optins加个区别标识optins.back==true表示这里的数据是返回的

用户在新页面点选了商品之后,在bindtap事件里,通过getCurrentPages()的方式得到当前的页面栈,然后可以通过页面栈直接操作对应页面里的属性和方法。

回到顶部