小程序navigateTo新打开多个同一路由页面,然后返回上一个页的时候,当前的页面表面数据是对的,貌似是缓存,但其实data记录的是刚打开多个页面,最后一个页面的数据,这时页面进行交互点击事件之类的 重新渲染就能看到
导致原因:
页面 A、与页面 B 共享同一个 Page 实例导致的
目前尝试过两种不是很好的解决办法:
第一种: 修改 `Data` 数据结构,用商品的 `goodsId` 值作为 key,如下
```
data = {
Data: {
[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()
}
```