Merge branch 'hotfix/page演示' into develop

Former-commit-id: d6ed9a217cc4651cc5a1cb4d91d4d8ec3fc4cc15 [formerly d6ed9a217cc4651cc5a1cb4d91d4d8ec3fc4cc15 [formerly d6ed9a217cc4651cc5a1cb4d91d4d8ec3fc4cc15 [formerly d6ed9a217cc4651cc5a1cb4d91d4d8ec3fc4cc15 [formerly 2999ea6f1b9a4e40b09993137d3e32811a649239 [formerly 817dd948b7ce0343de579ec448cbd2fbb412ddbd]]]]]
Former-commit-id: ad1010fa03b653476077f4fc0accf1c6ef4e17c5
Former-commit-id: 74238dbc7f1bf81f23d6f40634b7a29c7d322a11
Former-commit-id: b67a8bc54604f6f68264743cd739a727113ae5c0 [formerly 76b8e9566870744300f6fd3d97ee64ab337c90fe]
Former-commit-id: 24102e906b3341940dc29427b63d029eac9231de
Former-commit-id: d1d1848805d730e7ea0b4a96646d58220c5a35de
Former-commit-id: d163aa06a47bb00a14467d4392329bebbd6740ce
Former-commit-id: 89e2121b957c709b55f767fa29977c72dd1f0eda
Former-commit-id: a8c0ce437c38cd06c40500175e925740448409b1
This commit is contained in:
liyang
2018-11-05 23:13:36 +08:00
6 changed files with 83 additions and 20 deletions

View File

@@ -40,10 +40,7 @@ export default {
// 清空缓存设置
this.pageKeepAliveClean()
// 刷新此页面
const { path, query } = this.$route
this.$router.replace({
path: '/redirect/' + JSON.stringify({ path, query })
})
this.$router.replace('/refresh')
}
},
immediate: true

View File

@@ -6,3 +6,11 @@
<el-button type="primary" @click="$router.push({ name: 'demo-playground-page-argu-send' })">返回发送数据的页面</el-button>
</d2-container>
</template>
<script>
export default {
mounted () {
console.log('this.$route', this.$route)
}
}
</script>

View File

@@ -1,16 +1,42 @@
<template>
<d2-container type="card">
<!-- 证明有缓存 -->
<p class="d2-mt-0">在下面的输入框输入任意字符后切换到其它页面再回到此页时输入框文字保留证明被缓存</p>
<el-input v-model="value" placeholder="input here"></el-input>
<!-- 页签操作 -->
<p>页签操作</p>
<el-button @click="closeCurrent" type="danger">
<d2-icon name="times"/>
关闭当前页
</el-button>
<p>刷新</p>
<el-button-group>
<el-button @click="cleanCacheAndRefreshCurrent">
<d2-icon name="refresh"/>
清空当前页缓存并刷新
</el-button>
<el-button @click="cleanCacheAndRefreshAll">
<d2-icon name="refresh"/>
清空所有缓存并刷新
</el-button>
</el-button-group>
</d2-container>
</template>
<script>
import { mapActions } from 'vuex'
import { mapMutations, mapActions } from 'vuex'
export default {
name: 'demo-playground-store-page',
data () {
return {
value: ''
}
},
methods: {
...mapMutations('d2admin/page', [
'keepAliveRemove',
'keepAliveClean'
]),
...mapActions('d2admin/page', [
'close'
]),
@@ -20,6 +46,26 @@ export default {
tagName: this.$route.name,
vm: this
})
},
// 刷新当前页面
refreshCurrent () {
// const { path, query } = this.$route
// this.$router.replace({
// path: '/redirect/' + JSON.stringify({ path, query })
// })
this.$router.replace({
path: '/refresh'
})
},
// 清空当前页缓存并刷新此页面
cleanCacheAndRefreshCurrent () {
this.keepAliveRemove(this.$route.name)
this.$nextTick(this.refreshCurrent)
},
// 清空所有的缓存并刷新此页面
cleanCacheAndRefreshAll () {
this.keepAliveClean()
this.$nextTick(this.refreshCurrent)
}
}
}

View File

@@ -10,7 +10,7 @@ export default {
component: layoutHeaderAside,
children: (pre => [
{ path: 'index', name: `${pre}index`, component: () => import('@/pages/demo/playground/index'), meta: { ...meta, title: '试验台首页' } },
{ path: 'store/page', name: `${pre}store-page`, component: () => import('@/pages/demo/playground/store/page'), meta: { ...meta, title: '多标签页控制' } },
{ path: 'store/page', name: `${pre}store-page`, component: () => import('@/pages/demo/playground/store/page'), meta: { ...meta, cache: true, title: '多标签页控制' } },
{ path: 'store/menu', name: `${pre}store-menu`, component: () => import('@/pages/demo/playground/store/menu'), meta: { ...meta, title: '菜单控制' } },
{ path: 'store/size', name: `${pre}store-size`, component: () => import('@/pages/demo/playground/store/size'), meta: { ...meta, title: '全局尺寸' } },
{ path: 'store/ua', name: `${pre}store-ua`, component: () => import('@/pages/demo/playground/store/ua'), meta: { ...meta, title: '浏览器信息' } },

View File

@@ -20,11 +20,36 @@ const frameIn = [
redirect: { name: 'index' },
component: layoutHeaderAside,
children: [
// 首页 必须 name:index
{
path: 'index',
name: 'index',
meta,
component: () => import('@/pages/index')
},
// 刷新页面 必须保留
{
path: 'refresh',
name: 'refresh',
hidden: true,
component: {
beforeRouteEnter (to, from, next) {
next(vm => vm.$router.replace(from.fullPath))
},
render: h => h()
}
},
// 页面重定向 必须保留
{
path: 'redirect/:route*',
name: 'redirect',
hidden: true,
component: {
beforeRouteEnter (to, from, next) {
next(vm => vm.$router.replace(JSON.parse(from.params.route)))
},
render: h => h()
}
}
]
},
@@ -42,19 +67,6 @@ const frameIn = [
* 在主框架之外显示
*/
const frameOut = [
// 页面重定向使用 必须保留
{
path: '/redirect/:path*',
component: {
beforeCreate () {
const path = this.$route.params.path
this.$router.replace(JSON.parse(path))
},
render: function (h) {
return h()
}
}
},
// 登录
{
path: '/login',

View File

@@ -1 +1 @@
963a1923bc8b0876a15c930bd0f9cc2105cba4a7
b640559cb03d106f8ed74403b61a7af0561e5015