必须配合 vue
2.x
与 vue-router2.x
一起使用
导航默认行为类似手机APP的页面导航(A、B、C为页面):
- A前进到B,再前进到C
- C返回到B时,B的状态从缓存中恢复
- B返回到A时,A的状态从缓存中恢复
- A再次前进到B时,B重新生成,不从缓存中恢复
npm i -S vue-navigation
main.js
import Vue from 'vue'
import router from './router' // vue-router instance
import Navigation from 'vue-navigation'
Vue.use(Navigation, {router})
// bootstrap your app...
App.vue
<template>
<navigation>
<router-view></router-view>
</navigation>
</template>
在全局环境中调用Vue.navigation.getRoutes()
或在Vue实例中调用this.$navigation.getRoutes()
都可以获取页面导航路径
main.js
import Vue from 'vue'
import router from './router' // vue-router instance
import store from './store' // vuex store instance
import Navigation from 'vue-navigation'
Vue.use(Navigation, {router, store})
// bootstrap your app...
传入store
后,vue-navigation
会向store
注册一个Module(默认名称为navigation
),并在routes
中存储页面导航路径,同时在页面跳转时会提交navigation/FORWARD
或navigation/BACK
你可以自己设置Module的名称
Vue.use(Navigation, {router, store, moduleName: 'name'})