vue 那点破事

Vue-router 持久化以及常见配置

2019-05-16  本文已影响0人  爱绑架的猫

1,为啥要持久化

因为一刷新页面数据就没了,不开心。。。。

2,解决步骤

1,安装插件

npm install --save vue-router-storage

2,添加代码到主文件 main.js

import Vue from 'vue'
import RouterStorage from 'vue-router-storage'

Vue.use(RouterStorage,{
    showLog: false,
    stayHere: true,
    instanceName: '$history'
});

3,怎么使

// 获取实例
this.$history

// 清除历史数据
this.$history.clear();

// 监听返回事件  goback
vm.$on('router.goback', function() {
    console.log('goback event')
});

// 监听跳转事件
vm.$on('router.replace', function() {
    
})

// 监听前进事件
vm.$on('router.goforward', function() {

})

//监听组件中的路径更改并获取路径列表
watch: {
    '$history.routes'(val) {
        // this.path = val
    }
}

//倾听尝试离开Vue应用程序事件(StayHere为真时触发)
vm.$on('router.inroot', function () {
  console.log('inroot event')
})

vue-router 一般配置

export default new Router({
  mode: 'history', // 推荐设置为历史模式
  base: "/file/",  // 如果项目打包上线以后需要放到域名下特定的文件夹内,例如:www.xxx.com/file/ 则需要配置此选项,否则路由会出现问题
  routes: [
    {
      path: '/',
      name: 'home',
      meta: {index:2},
      component: () => import('../views/Index.vue'), 
    }
  ]
})
上一篇下一篇

猜你喜欢

热点阅读