首页 > 如何判断路由时否是回退来的

如何判断路由时否是回退来的

我在列表项中的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()
        }
      }
【热门文章】
【热门文章】