該問題出現的issue:https://github.com/Meituan-Dianping/mpvue/issues/140
使用場景:
在使用mpvue開發小程序中,出現同路由復用,使用不同頁面的情況。
例如:
進入:首頁->商品詳情頁1(id=1)->(商品詳情頁的推薦商品列表進入)商品詳情頁2(id=2)->(商品詳情頁的推薦商品列表進入)商品詳情頁3(id=3)
退回:商品詳情頁3(id=3)<-商品詳情頁2(id=2)<-商品詳情頁1(id=1)<-首頁
問題分析:
通過打斷點分析,同路由下的不同頁面,數據data的掛載,是共享的...也就是說用的一直都是同一個data,而不是每個頁面擁有一個獨立的data
解決方案:
使用開源更改后的頁面插件包:https://github.com/HelloZJW/mpvue-page-factory
修改使用的mvpue-loader插件以及增加工廠頁面插件,
根據mpvue版本修改package.json,詳情見修改后的mpvue-loader插件包:https://github.com/jgchenu/mpvue-loader
--package.json "mpvue-loader": "git+https://github.com/HelloZJW/mpvue-loader.git#patch1.0.x", "mpvue-page-factory": "^1.0.0",
需要修改 重復使用路由 頁面的main.js文件
import pageFactory from 'mpvue-page-factory'
import App from './index'
Page(pageFactory(App))