提交 e74dc58b 编写于 作者: Q qiang

fix: 解决从 H5 端从首页调用 uni.redirectTo 切换其他页面后首页未销毁的问题 question/103503

上级 4410afc2
......@@ -104,7 +104,7 @@ function beforeEach (to, from, next, routes) {
if (from.meta.isQuit) { // 如果 redirectTo 的前一个页面是 quit 类型,则新打开的页面也是 quit
to.meta.isQuit = true
to.meta.isEntry = !!from.meta.isEntry
}
}
// 小程序没有这个逻辑,当时为何加了保留并更新 tabBar 的逻辑?
// if (from.meta.isTabBar) { // 如果是 tabBar,需要更新系统组件 tabBar 内的 list 数据
// to.meta.isTabBar = true
......@@ -133,7 +133,7 @@ function beforeEach (to, from, next, routes) {
break
}
if (to.type !== 'reLaunch' && from.meta.id) { // 如果不是 reLaunch,且 meta 指定了 id
if (to.type !== 'reLaunch' && to.type !== 'redirectTo' && from.meta.id) { // 如果不是 reLaunch、redirectTo,且 meta 指定了 id
addKeepAliveInclude.call(this, fromName)
}
// if (to.type !== 'reLaunch') { // TODO 如果 reLaunch,1.keepAlive的话,无法触发页面生命周期,并刷新页面,2.不 keepAlive 的话,页面状态无法再次保留,且 routeView 的 cache 有问题
......@@ -223,4 +223,4 @@ export default function initRouterGuard (appVm, routes) {
appVm.$router.afterEach(function (to, from) {
afterEach.call(appVm, to, from)
})
}
}
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册