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