我在列表项中的create()
生命周期中执行加载数据的初始化操作
在进入列表项,点击了一个项之后,进入具体的内容页面
当点击返回的时候,列表项又重新执行了create()
我想知道有没有方法可以判断路由是否是经过回退操作进行的
让我在回退的时候,不重新加载数据
你可以保存数据到sessionStorage做判断。
vue-rouetr里面我是没看结果有判断是后退来的api
对于这个问题,自己想到一种解方案,如下:
1.所有的数据都是缓存在vuex
中,包括列表数据与页码数据
2.关于如何判断回退,我目前中的项目,路由 list
比如是/list
,路由 content
是 /list/content
。即路由是嵌套关系
3.将原本列表页面中在create()
中执行初始化的动作移动到
route: {
data (transition) {
const from = transition.from || {path: ''}
const fromPath = from.path || ''
// console.log(fromPath)
const to = transition.to || {path: ''}
const toPath = to.path || ''
// console.log(toPath)
// 判断是否回退
if(fromPath.indexOf(toPath) >= 0) {
//不初始化数据,使用原来数据,并设置页码
// console.log('不初始化数据,使用原来数据,并设置页码')
// console.log(this.appInfo)
} else {
// console.log('初始化数据与页码')
this.setAppInfoPage({payload: {page:0}})
// console.log(this.appInfo)
this._init()
}
}