切换到使用 wo.pagesJson
This commit is contained in:
parent
5a639958f3
commit
cbea8a6d0c
23
index.js
23
index.js
@ -55,13 +55,14 @@ export default {
|
|||||||
},
|
},
|
||||||
|
|
||||||
localizeText(i18nText) {
|
localizeText(i18nText) {
|
||||||
const pageNow = this?.$store ? this // 对于组件内定义的 i18nText,要使用 this 来获得组建内的 i18nText,而不是 getCurrentPages[...] 去访问全局页面的 i18nText。
|
const mylang = getApp().$store.state.i18n.mylang // pageNow 有可能不存在,所以用 getApp().$store 更安全
|
||||||
: getCurrentPages()[getCurrentPages().length - 1] // 如果直接挂载到 Vue.prototype 下,那么可以直接访问 this.i18nText。但如果通过 this.$T.localeText 访问,那么 this.i18nText 就报错了。因此安全起见,先获取当前 page
|
const pageNow = this.$store ? this // 对于组件内定义的 i18nText,要使用 this 来获得组建内的 i18nText,而不是 getCurrentPages[...] 去访问全局页面的 i18nText。
|
||||||
i18nText = i18nText || pageNow.i18nText // 解析输入参数 i18nText,或者 pageNow.i18nText
|
: getCurrentPages()[getCurrentPages().length - 1] // [20220401] 发现在 topWindow 里, 获取的 pageNow 是空的。因此在 topWindow 里不要使用 i18nText 字段。
|
||||||
if (i18nText && typeof(i18nText)==='object' && pageNow.$store?.state?.i18n?.mylang) {
|
i18nText = i18nText || pageNow?.i18nText // 如果本方法直接挂载到 Vue.prototype 下,那么可以直接访问 this.i18nText。但如果挂载到 wo 下,那么 this.i18nText 就报错了。因此安全起见,通过 pageNow.i18nText 访问。
|
||||||
return i18nText[pageNow.$store.state.i18n.mylang] || ''
|
if (i18nText && typeof (i18nText) === 'object' && mylang) {
|
||||||
|
return i18nText[mylang] || ''
|
||||||
}
|
}
|
||||||
if (typeof i18nText === 'string'){
|
if (typeof i18nText === 'string') {
|
||||||
return i18nText
|
return i18nText
|
||||||
}
|
}
|
||||||
return ''
|
return ''
|
||||||
@ -70,13 +71,13 @@ export default {
|
|||||||
localeText() {
|
localeText() {
|
||||||
const pageNow = this?.$store ? this // 对于组件内定义的 i18nText,要使用 this 来获得组件内的 i18nText,而不是 getCurrentPages[...] 去访问全局页面的 i18nText。
|
const pageNow = this?.$store ? this // 对于组件内定义的 i18nText,要使用 this 来获得组件内的 i18nText,而不是 getCurrentPages[...] 去访问全局页面的 i18nText。
|
||||||
: getCurrentPages()[getCurrentPages().length - 1]
|
: getCurrentPages()[getCurrentPages().length - 1]
|
||||||
return pageNow.i18nText?.[pageNow.$store.state.i18n.mylang] || {}
|
return pageNow?.i18nText?.[getApp().$store.state.i18n.mylang] || {}
|
||||||
},
|
},
|
||||||
|
|
||||||
setBarTitles ({ windowTitle, pageTitle } = {}) {
|
setBarTitles ({ windowTitle, pageTitle } = {}) {
|
||||||
const pageNow = getCurrentPages()[getCurrentPages().length - 1]
|
|
||||||
const mylang = getApp().$store.state.i18n.mylang
|
const mylang = getApp().$store.state.i18n.mylang
|
||||||
const pagesJson = getApp().$pagesJson
|
const pagesJson = getApp().wo.pagesJson
|
||||||
|
const pageNow = getCurrentPages()[getCurrentPages().length - 1]
|
||||||
|
|
||||||
// #ifdef H5
|
// #ifdef H5
|
||||||
document.title = windowTitle || pagesJson?.appInfo?.i18nText?.[mylang] // 必须放在 setNavigationBarTitle 之后,否则会被其覆盖掉。
|
document.title = windowTitle || pagesJson?.appInfo?.i18nText?.[mylang] // 必须放在 setNavigationBarTitle 之后,否则会被其覆盖掉。
|
||||||
@ -85,8 +86,8 @@ export default {
|
|||||||
uni.setNavigationBarTitle({
|
uni.setNavigationBarTitle({
|
||||||
title:
|
title:
|
||||||
pageTitle ||
|
pageTitle ||
|
||||||
pageNow.i18nText?.[mylang]?.tPageTitle || // 页面.vue 的 i18nText 对象
|
pageNow?.i18nText?.[mylang]?.tPageTitle || // 页面.vue 的 i18nText 对象
|
||||||
pageNow.i18nPageTitle?.[mylang] || // 页面.vue 的 i18nPageTitle 变量
|
pageNow?.i18nPageTitle?.[mylang] || // 页面.vue 的 i18nPageTitle 变量
|
||||||
pagesJson?.pages?.find((page) => page.path === pageNow.route)?.i18nPageTitle?.[mylang], // pages.json 的页面配置里
|
pagesJson?.pages?.find((page) => page.path === pageNow.route)?.i18nPageTitle?.[mylang], // pages.json 的页面配置里
|
||||||
})
|
})
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user