diff --git a/unitool.js b/unitool.js index 4b6eae0..5ae783b 100644 --- a/unitool.js +++ b/unitool.js @@ -55,16 +55,16 @@ export default { setBarTitles ({ windowTitle, pageTitle, pagesJson = this.pagesJson || wo?.pagesJson, envar = this.envar || wo?.envar } = {}) { const langNow = my.langNow() - const pageNow = getCurrentPages()?.pop?.() // 需要兼顾在 App.vue 时无法获取当前页面的情况,因为如果在 topWindow 里调用本函数,getApp() 和 getCurrentPages() 就是 undefined。 + const pageNow = getCurrentPages()?.pop?.() const navibarTitle = pageTitle || - pageNow?.i18nPageTitle?.[langNow] || // 页面.vue 的 i18nPageTitle 变量 - pageNow?.i18nText?.[langNow]?.tPageTitle || // 页面.vue 的 i18nText 对象 - pageNow?.pageTitle || + pageNow?.$vm?.$data?.i18nPageTitle?.[langNow] || // 页面.vue 的 i18nPageTitle 变量 + pageNow?.$vm?.$data?.i18nText?.[langNow]?.tPageTitle || // 页面.vue 的 i18nText 对象 + pageNow?.$vm?.$data?.pageTitle || pagesJson?.pages?.find((page) => page.path === pageNow?.route)?.i18nPageTitle?.[langNow] || // pages.json 的页面配置里 '' - // 在app里,pageNow.route 是正确的,但是 pageNow.i18nPageTitle 未定义,不知为何 + // 在app里,pageNow.route 是正确的,但是 pageNow.xxx 等自定义属性 都 undefined,必须 pageNow.$vm.$data.xxx 才可以。注意,$vm.$data 不包括 computed 属性,而 pageNow 里包括。 windowTitle = windowTitle || wo?.envar?.callname?.[langNow] || pagesJson?.appInfo?.i18nText?.[langNow] || pagesJson?.globalStyle?.navigationBarTitleText || ''