增加带参路由多页签支持
Former-commit-id: cbc33a78c59c6468df3e905a1bc1f5c513abf804 [formerly cbc33a78c59c6468df3e905a1bc1f5c513abf804 [formerly cbc33a78c59c6468df3e905a1bc1f5c513abf804 [formerly cbc33a78c59c6468df3e905a1bc1f5c513abf804 [formerly 66e615a1681dbb8ff72633fc3d53cbf5411610f5 [formerly 449c1c2a13a19d6d52537b97c18548c012b360dd]]]]] Former-commit-id: 2a7a63bce617f5acaf5c1e4b13455f001f69118d Former-commit-id: 49a1453a0343e1e52cbb1b7faf1d18ffbb0ae519 Former-commit-id: d303a906c5a794ef68376044fb6d9c578e9e85c9 [formerly bc51b43eaa43b3d1744d7edc36d605a6d3d0cd2e] Former-commit-id: 8867f09a27c99223dfd2cb5e66b2b25ca75b49d9 Former-commit-id: 2f01e346f3474822a2ec1f50e02ffcce05dce8a8 Former-commit-id: 8f68a3470559ea51ee3ab7617347eb0236b607f1 Former-commit-id: dbcf55c5cfcb9f52dc8705397a2423f790d7ed82 Former-commit-id: 58abe040aadabc72c1db5acef2f45a7f30874614
This commit is contained in:
@@ -7,7 +7,7 @@
|
||||
:x="contentmenuX"
|
||||
:y="contentmenuY">
|
||||
<d2-contextmenu-list
|
||||
:menulist="tagName === 'index' ? contextmenuListIndex : contextmenuList"
|
||||
:menulist="tagName === '/index' ? contextmenuListIndex : contextmenuList"
|
||||
@rowClick="contextmenuClick"/>
|
||||
</d2-contextmenu>
|
||||
<el-tabs
|
||||
@@ -22,7 +22,7 @@
|
||||
v-for="(page, index) in opened"
|
||||
:key="index"
|
||||
:label="page.meta.title || '未命名'"
|
||||
:name="page.name"/>
|
||||
:name="page.fullPath"/>
|
||||
</el-tabs>
|
||||
</div>
|
||||
</div>
|
||||
@@ -79,7 +79,7 @@ export default {
|
||||
{ icon: 'times', title: '关闭其它', value: 'other' },
|
||||
{ icon: 'times-circle', title: '关闭全部', value: 'all' }
|
||||
],
|
||||
tagName: 'index'
|
||||
tagName: '/index'
|
||||
}
|
||||
},
|
||||
computed: {
|
||||
@@ -163,7 +163,7 @@ export default {
|
||||
*/
|
||||
handleClick (tab, event) {
|
||||
// 找到点击的页面在 tag 列表里是哪个
|
||||
const page = this.opened.find(page => page.name === tab.name)
|
||||
const page = this.opened.find(page => page.fullPath === tab.name)
|
||||
const { name, params, query } = page
|
||||
if (page) {
|
||||
this.$router.push({ name, params, query })
|
||||
|
||||
@@ -58,7 +58,9 @@ export default {
|
||||
icon: 'hdd-o',
|
||||
children: [
|
||||
{ path: `${pre}page-cache/on`, title: '开启缓存' },
|
||||
{ path: `${pre}page-cache/off`, title: '关闭缓存' }
|
||||
{ path: `${pre}page-cache/off`, title: '关闭缓存' },
|
||||
{ path: `${pre}page-cache/params/1`, title: '带参路由缓存 1' },
|
||||
{ path: `${pre}page-cache/params/2`, title: '带参路由缓存 2' }
|
||||
]
|
||||
},
|
||||
{
|
||||
|
||||
22
src/pages/demo/playground/page-cache/params.vue
Normal file
22
src/pages/demo/playground/page-cache/params.vue
Normal file
@@ -0,0 +1,22 @@
|
||||
<template>
|
||||
<d2-container type="card">
|
||||
<template slot="header">这个页面会被 keep-alive</template>
|
||||
<h1>编号:{{id}}</h1>
|
||||
<p class="d2-mt-0">在下面的输入框输入任意字符后,切换到其它页面,再回到此页时输入框文字保留,证明被缓存</p>
|
||||
<el-input v-model="value" placeholder="input here"></el-input>
|
||||
</d2-container>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
name: 'demo-playground-page-cache-params',
|
||||
props: {
|
||||
id: String
|
||||
},
|
||||
data () {
|
||||
return {
|
||||
value: ''
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
@@ -55,9 +55,9 @@ router.afterEach(to => {
|
||||
NProgress.done()
|
||||
// 需要的信息
|
||||
const app = router.app
|
||||
const { name, params, query } = to
|
||||
const { name, params, query, fullPath } = to
|
||||
// 多页控制 打开新的页面
|
||||
app.$store.dispatch('d2admin/page/open', { name, params, query })
|
||||
app.$store.dispatch('d2admin/page/open', { name, params, query, fullPath })
|
||||
// 更改标题
|
||||
util.title(to.meta.title)
|
||||
})
|
||||
|
||||
@@ -20,6 +20,7 @@ export default {
|
||||
{ path: 'store/transition', name: `${pre}store-transition`, component: () => import('@/pages/demo/playground/store/transition'), meta: { ...meta, title: '页面过渡开关' } },
|
||||
{ path: 'page-cache/on', name: `${pre}page-cache-on`, component: () => import('@/pages/demo/playground/page-cache/on.vue'), meta: { ...meta, cache: true, title: '开启缓存' } },
|
||||
{ path: 'page-cache/off', name: `${pre}page-cache-off`, component: () => import('@/pages/demo/playground/page-cache/off.vue'), meta: { ...meta, title: '关闭缓存' } },
|
||||
{ path: 'page-cache/params/:id', name: `${pre}page-cache-params`, component: () => import('@/pages/demo/playground/page-cache/params.vue'), meta: { ...meta, cache: true, title: '带参路由缓存' }, props: true },
|
||||
{ path: 'page-argu/send', name: `${pre}page-argu-send`, component: () => import('@/pages/demo/playground/page-argu/send.vue'), meta: { ...meta, title: '参数传递 发送' } },
|
||||
{ path: 'page-argu/get/:username', name: `${pre}page-argu-get`, component: () => import('@/pages/demo/playground/page-argu/get.vue'), meta: { ...meta, title: '参数传递 接收' } },
|
||||
{ path: 'db/all', name: `${pre}db-all`, component: () => import('@/pages/demo/playground/db/all'), meta: { ...meta, title: '总览' } },
|
||||
|
||||
@@ -18,6 +18,7 @@ export default {
|
||||
opened: [
|
||||
{
|
||||
name: 'index',
|
||||
fullPath: '/index',
|
||||
meta: {
|
||||
title: '首页',
|
||||
requiresAuth: false
|
||||
|
||||
@@ -1 +1 @@
|
||||
b640559cb03d106f8ed74403b61a7af0561e5015
|
||||
033fcecc7eeff02cfda00a5ded8a23cb359855f1
|
||||
Reference in New Issue
Block a user