增加带参路由多页签支持

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:
han_feng
2018-11-14 15:34:41 +08:00
parent c522feaa5a
commit 39617f64be
7 changed files with 34 additions and 8 deletions

View File

@@ -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 })

View File

@@ -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' }
]
},
{

View 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>

View File

@@ -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)
})

View File

@@ -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: '总览' } },

View File

@@ -18,6 +18,7 @@ export default {
opened: [
{
name: 'index',
fullPath: '/index',
meta: {
title: '首页',
requiresAuth: false

View File

@@ -1 +1 @@
b640559cb03d106f8ed74403b61a7af0561e5015
033fcecc7eeff02cfda00a5ded8a23cb359855f1