Files
mes-ui-d2/docs/zh/sys-route/README.md
liyang cf0bbed3aa 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
2018-08-21 13:52:01 +08:00

1.6 KiB
Raw Blame History

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: '开启缓存'
	}
}