【管理员过来看看】小程序缺少页面间返回时传递数据(不是正向传递数据)的解决方案?

发布于 8 年前作者 jing8314700 次浏览最后编辑 8 年前来自 ask

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

10 回复
yonghuang
yonghuang1 楼6 年前

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

bzhang
bzhang2 楼6 年前

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

guiying48
guiying483 楼6 年前

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

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

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

mingcao
mingcao4 楼6 年前

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

ping53
ping535 楼6 年前

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

jiecheng
jiecheng6 楼6 年前

描述清楚点

wenlei
wenlei7 楼6 年前

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

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

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

ncheng
ncheng8 楼6 年前

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

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

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

liangxiuying
liangxiuying9 楼6 年前

其实通过扩展已有的接口

wx.navigateBack({

delta: 1

})

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

wx.navigateBack({

delta: 1,

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

})

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

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

xia65
xia6510 楼6 年前

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