no message

Former-commit-id: fc65cf0bd59f74c49907a522afa9e361e146541d [formerly fc65cf0bd59f74c49907a522afa9e361e146541d [formerly fc65cf0bd59f74c49907a522afa9e361e146541d [formerly fc65cf0bd59f74c49907a522afa9e361e146541d [formerly b498093f53a934dc50b75119539c83487e113f54 [formerly 1939f3aa2584edd9b039e99f12f2c7da2982ae16]]]]]
Former-commit-id: 15bb624d48dd47ee69b0b14bd8f0030568f66e35
Former-commit-id: 59df8c756c782130b28a9f50c33745b213598432
Former-commit-id: ebdf0a259d07c99ef06a320063abc890b1e47c24 [formerly dc5b000425cf19943862055f6bcc1e5f5b50baea]
Former-commit-id: 1fe49134e36d5c4867af6fab32bb91853895665f
Former-commit-id: e23ed3d4dd3c917c0c932a2c826b721fed4b8225
Former-commit-id: 2f99de3613031f448756f57458220348b16f4c86
Former-commit-id: a58fe5e45946e35c32985808d7e729cfe638f050
Former-commit-id: ddf471f9aeb24ce8d38a0c8af5716c9f6beabdca
This commit is contained in:
liyang
2018-08-21 13:52:01 +08:00
parent ab0525815e
commit cf0bbed3aa
5 changed files with 73 additions and 8 deletions

View File

@@ -12,4 +12,65 @@ sidebar: auto
## 路由配置
路由注册和钩子设置文件为 `d2-admin/src/router/index.js`,此文件中将 `routes.js` 中导出的 routes 变量注册到路由,并且设置后续的路由拦截和登陆状态判断,多页面的新建页面事件触发也来自这里。该文件再导出注册了所有页面的路由实例,在 `main.js` 中注册到 vue 根实例。
路由注册和钩子设置文件为 `d2-admin/src/router/index.js`,此文件中将 `routes.js` 中导出的 routes 变量注册到路由,并且设置后续的路由拦截和登陆状态判断,多页面的新建页面事件触发也来自这里。该文件再导出注册了所有页面的路由实例,在 `main.js` 中注册到 vue 根实例。
## 路由缓存
路由缓存默认为开启状态,页面组件会被 keepAlive如果想禁用某个页面的缓存请在该路由配置的 meta 中加入:
``` js
meta: {
notCache: true
}
```
最后结果类似这样:
``` js {7}
{
path: '/page-cache/off',
name: 'page-cache-off',
component: () => import('xxx.vue'),
meta: {
requiresAuth: true,
notCache: true,
title: '关闭缓存'
}
}
```
虽然所有的路由默认都是开启缓存的,但是还需要遵守一个约定才可以正确缓存页面:
**页面组件必须有 name 字段,并且 name 字段的值和该路由的 name 字段一致。**
例如:
页面文件:
``` vue {9}
<template>
<d2-container>
Hello World
</d2-container>
</template>
<script>
export default {
name: 'page-cache-on'
}
</script>
```
路由设置:
``` js {3}
{
path: '/page-cache/on',
name: 'page-cache-on',
component: () => import('xxx.vue'),
meta: {
requiresAuth: true,
title: '开启缓存'
}
}
```