wx.navigateTo跳转一个页面返回的问题
发布于 6 年前 作者 lichao 16784 次浏览 来自 问答

问题: 一个页面,只是展示的数据不一致,例如:详情页现在展示的是数据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() 在添加一个悬浮按钮返回首页

既然使用了 wx.navigateTo,那么应该就是两个页面了  ,何来一个页面之说???

回到顶部