該問題出現的issue:https://github.com/Meituan-Dianping/mpvue/issues/140vue
使用場景:git
在使用mpvue開發小程序中,出現同路由複用,使用不一樣頁面的狀況。github
例如:json
進入:首頁->商品詳情頁1(id=1)->(商品詳情頁的推薦商品列表進入)商品詳情頁2(id=2)->(商品詳情頁的推薦商品列表進入)商品詳情頁3(id=3)小程序
退回:商品詳情頁3(id=3)<-商品詳情頁2(id=2)<-商品詳情頁1(id=1)<-首頁spa
問題分析:插件
經過打斷點分析,同路由下的不一樣頁面,數據data的掛載,是共享的...也就是說用的一直都是同一個data,而不是每一個頁面擁有一個獨立的datacode
解決方案:blog
使用開源更改後的頁面插件包: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))