File tree Expand file tree Collapse file tree 2 files changed +18
-3
lines changed Expand file tree Collapse file tree 2 files changed +18
-3
lines changed Original file line number Diff line number Diff line change 41
41
<div class =" page-header-index-wide" >
42
42
<slot >
43
43
<!-- keep-alive -->
44
- <router-view ref =" content" ></router-view >
44
+ <keep-alive v-if =" multiTab" >
45
+ <router-view ref =" content" />
46
+ </keep-alive >
47
+ <router-view v-else ref =" content" />
45
48
</slot >
46
49
</div >
47
50
</div >
48
51
</div >
49
52
</template >
50
53
51
54
<script >
55
+ import { mapState } from ' vuex'
52
56
import PageHeader from ' @/components/PageHeader'
53
57
54
58
export default {
@@ -80,6 +84,11 @@ export default {
80
84
tabs: {}
81
85
}
82
86
},
87
+ computed: {
88
+ ... mapState ({
89
+ multiTab : state => state .app .multiTab
90
+ })
91
+ },
83
92
mounted () {
84
93
this .getPageMeta ()
85
94
},
Original file line number Diff line number Diff line change 1
1
<script >
2
2
export default {
3
3
name: ' RouteView' ,
4
+ props: {
5
+ keepAlive: {
6
+ type: Boolean ,
7
+ default: true
8
+ }
9
+ },
4
10
data () {
5
11
return {}
6
12
},
@@ -17,10 +23,10 @@ export default {
17
23
// 这里增加了 multiTab 的判断,当开启了 multiTab 时
18
24
// 应当全部组件皆缓存,否则会导致切换页面后页面还原成原始状态
19
25
// 若确实不需要,可改为 return meta.keepAlive ? inKeep : notKeep
20
- if (meta .keepAlive === false ) {
26
+ if (! getters . multiTab && meta .keepAlive === false ) {
21
27
return notKeep
22
28
}
23
- return getters .multiTab || meta .keepAlive ? inKeep : notKeep
29
+ return this . keepAlive || getters .multiTab || meta .keepAlive ? inKeep : notKeep
24
30
}
25
31
}
26
32
</script >
You can’t perform that action at this time.
0 commit comments