一、问题描述
有个需求就是,在app.vue页面中首先会隐藏所有页面的title,然后在相应的页面会判断当前环境是否是在微信浏览器内,如果不是,则还原标题。
二、解决方法
在 pages.json 文件中设置 navigationBarTitleText,例如:
{
"pages": [
{
"path": "pages/xxx/index",
"style": {
"navigationBarTitleText": "首页",
"app-plus": {
"bounce": "none"
}
}
}]
}
在页面中,使用以下代码获取当前页面的 navigationBarTitleText 的值:
<template>
<view>1111</view>
</template>
<script>
export default {
data() {
return {
title: "",
};
},
mounted() {
const pages = getCurrentPages();
const currentPage = pages[pages.length - 1];
// #ifndef APP-PLUS
this.title = currentPage.$page.meta.navigationBar.titleText;
// #endif
// #ifdef APP-PLUS
let webView = currentPage.$getAppWebview();
this.title = webView.getStyle().name;
// #endif
},
};
</script>
如果获取不到,可按如下方式,去跟踪,然后替换下面的代码
currentPage.$page.meta.navigationBar.titleText;