From 5e5f0e1bdc20fba7e49075a9fca04fba8169842c Mon Sep 17 00:00:00 2001 From: "luk.lu" Date: Thu, 15 Jul 2021 17:17:26 +0800 Subject: [PATCH] u --- index.js | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/index.js b/index.js index 6d45e64..7c2870b 100644 --- a/index.js +++ b/index.js @@ -297,6 +297,7 @@ module.exports = { } }, + // setBarTitles 迁移到 unip.i18n 库,通过 this.$store.commit('i18n/setBarTitles') 来调用 // setBarTitles({ windowTitle, pageTitle } = {}) { // let page = this.$store ? this : getCurrentPages()[getCurrentPages().length - 1] // uni.setNavigationBarTitle({ title: pageTitle || page.i18nText[page.$store.state.i18n.mylang].tPageTitle }) @@ -307,11 +308,21 @@ module.exports = { // }, localizeText(i18nText) { - return i18nText[this.$store.state.i18n.mylang] + // 如果直接挂载到 Vue.prototype 下,那么可以直接访问 this.i18nText。但如果通过 this.$T.localeText 访问,那么 this.i18nText 就报错了。因此安全起见,先获取当前 page + const page = getCurrentPages()[getCurrentPages().length - 1] + if (page.$store?.state?.i18n?.mylang) { + if (typeof(i18nText)==='object' && i18nText && i18nText[page.$store.state.i18n.mylang]){ + return i18nText[page.$store.state.i18n.mylang] + }else if (typeof(i18nText)==='undefined') { + return page.i18nText[page.$store.state.i18n.mylang] + } + } + return '' }, localeText() { - let page = this.$store ? this : getCurrentPages()[getCurrentPages().length - 1] + // 如果直接挂载到 Vue.prototype 下,那么可以直接访问 this.i18nText。但如果通过 this.$T.localeText 访问,那么 this.i18nText 就报错了。因此安全起见,先获取当前 page + let page = getCurrentPages()[getCurrentPages().length - 1] return page.i18nText[page.$store.state.i18n.mylang] },