@@ -60,7 +60,10 @@ export const getBreadCrumbList = (route, homeRoute) => {
60
60
return item . meta === undefined || ! item . meta . hideInBread
61
61
} ) . map ( item => {
62
62
let meta = { ...item . meta }
63
- if ( meta . title && typeof meta . title === 'function' ) meta . title = meta . title ( route )
63
+ if ( meta . title && typeof meta . title === 'function' ) {
64
+ meta . __titleIsFunction__ = true
65
+ meta . title = meta . title ( route )
66
+ }
64
67
let obj = {
65
68
icon : ( item . meta && item . meta . icon ) || '' ,
66
69
name : item . name ,
@@ -79,19 +82,22 @@ export const getRouteTitleHandled = (route) => {
79
82
let meta = { ...route . meta }
80
83
let title = ''
81
84
if ( meta . title ) {
82
- if ( typeof meta . title === 'function' ) title = meta . title ( router )
83
- else title = meta . title
85
+ if ( typeof meta . title === 'function' ) {
86
+ meta . __titleIsFunction__ = true
87
+ title = meta . title ( router )
88
+ } else title = meta . title
84
89
}
85
90
meta . title = title
86
91
router . meta = meta
87
92
return router
88
93
}
89
94
90
95
export const showTitle = ( item , vm ) => {
91
- let title = item . meta . title
96
+ let { title, __titleIsFunction__ } = item . meta
92
97
if ( ! title ) return
93
98
if ( vm . $config . useI18n ) {
94
99
if ( title . includes ( '{{' ) && title . includes ( '}}' ) && vm . $config . useI18n ) title = title . replace ( / ( { { [ \s \S ] + ?} } ) / , ( m , str ) => str . replace ( / { { ( [ \s \S ] * ) } } / , ( m , _ ) => vm . $t ( _ . trim ( ) ) ) )
100
+ else if ( __titleIsFunction__ ) title = item . meta . title
95
101
else title = vm . $t ( item . name )
96
102
} else title = ( item . meta && item . meta . title ) || item . name
97
103
return title
0 commit comments