刷新方法和重定向方法升级

Former-commit-id: 585670458831c80f57d20e9283fb82476b946e27 [formerly eb7045546e2bd98ba5b5c5e7578c56588b2e3a1d] [formerly 585670458831c80f57d20e9283fb82476b946e27 [formerly eb7045546e2bd98ba5b5c5e7578c56588b2e3a1d] [formerly 585670458831c80f57d20e9283fb82476b946e27 [formerly eb7045546e2bd98ba5b5c5e7578c56588b2e3a1d] [formerly eb7045546e2bd98ba5b5c5e7578c56588b2e3a1d [formerly ce225a2891d4ce5ff086775b9b486bdbf8ee3e86 [formerly 1808e7dd59762f0a4c7e0aceb66ca2e6212d1ca1]]]]]
Former-commit-id: 9845611172f6adb3ed6fdb713d72f23a9dd49f00
Former-commit-id: 9f6810a3f586a57ebb79a19924357771d41b9bbf
Former-commit-id: 371348953967cfe88c0b2dce944e521a5c95b835 [formerly c7863b7e22f5ab553a97b828da52fbbcc6f73381]
Former-commit-id: 58b6d3a88b0f06cb5813bfe913ba113f8bd9d703
Former-commit-id: cdaef260dbddecc1848dbbe5fd75a070d305e1e5
Former-commit-id: 1a1369bb32c9b8599ee8688da2d0dbbeab4b06e2
Former-commit-id: 69be53f5764c10f665dc29fb9f3ac54f71ea639c
Former-commit-id: 6883200052e680c1478e801401fe0d014ebf696c
This commit is contained in:
liyang
2018-11-05 23:13:28 +08:00
parent 8d4f883026
commit 22b6003da1
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