小程序
小游戏
企业微信
微信支付
扫描小程序码分享
问题: 一个页面,只是展示的数据不一致,例如:详情页现在展示的是数据A,点击数据A中的列表跳转到详情页数据B,在点击左上角的返回按钮时候,却仍然显示的是详情页B的数据,需求就是点击返回后,展示的是跳转详情页B数据之前的详情页数据A
如果有人知道,希望能指点一下,谢谢大佬们
3 个回答
加粗
标红
插入代码
插入链接
插入图片
上传视频
导致原因:
页面 A、与页面 B 共享同一个 Page 实例导致的
目前尝试过两种不是很好的解决办法:
第一种: 修改 `Data` 数据结构,用商品的 `goodsId` 值作为 key,如下
```
data = {
goodsData: {
[goodsId_A]: '',
[goodsId_B]: '',
// ...
}
第二种: 从页面参数中取goodsId,在onshow中做更新
onShow() {
const currentPages = getCurrentPages() || [] // eslint-disable-line
const { options } = currentPages[currentPages.length - 1] || {}
let { goodsId = ''} = options
this.goodsId = goodsId
this.$apply()
你好,麻烦通过点击下方“反馈信息”按钮,提供出现问题的。
个人觉得设计不合理:
1. 分两个页面
2. 用 wx.redirectTo() 在添加一个悬浮按钮返回首页
设计是合理的,就像商品详情页的推荐商品跳转到商品详情页一样,只不过是参数不一样,我们展示的是不同的商品罢了
本页面 => 本页面 (还合理么)
如果真有这样的需求,也是好解决的
使用mpvue有问题,返回的时候。现在已经解决了
既然使用了 wx.navigateTo,那么应该就是两个页面了 ,何来一个页面之说???
因为详情页用的是同一个页面承接的,不是两个页面,是不过是跳转的时候,数据发生了变化
所以 你是 从 A ---->A ,也就是 从A页面 ,使用wx.navigateTo 继续跳到A页面?
你方便的话,我加你微信说,这样说不清楚
晚点吧, 午休 QQ 778732665
关注后,可在微信内接收相应的重要提醒。
请使用微信扫描二维码关注 “微信开放社区” 公众号
导致原因:
页面 A、与页面 B 共享同一个 Page 实例导致的
目前尝试过两种不是很好的解决办法:
第一种: 修改 `Data` 数据结构,用商品的 `goodsId` 值作为 key,如下
```
data = {
goodsData: {
[goodsId_A]: '',
[goodsId_B]: '',
// ...
}
}
```
第二种: 从页面参数中取goodsId,在onshow中做更新
```
onShow() {
const currentPages = getCurrentPages() || [] // eslint-disable-line
const { options } = currentPages[currentPages.length - 1] || {}
let { goodsId = ''} = options
this.goodsId = goodsId
this.$apply()
}
```
个人觉得设计不合理:
1. 分两个页面
2. 用 wx.redirectTo() 在添加一个悬浮按钮返回首页
设计是合理的,就像商品详情页的推荐商品跳转到商品详情页一样,只不过是参数不一样,我们展示的是不同的商品罢了
本页面 => 本页面 (还合理么)
如果真有这样的需求,也是好解决的
使用mpvue有问题,返回的时候。现在已经解决了
既然使用了 wx.navigateTo,那么应该就是两个页面了 ,何来一个页面之说???
因为详情页用的是同一个页面承接的,不是两个页面,是不过是跳转的时候,数据发生了变化
所以 你是 从 A ---->A ,也就是 从A页面 ,使用wx.navigateTo 继续跳到A页面?
你方便的话,我加你微信说,这样说不清楚
晚点吧, 午休 QQ 778732665