l***@163.com
l***@163.com
  • 发布:2024-09-27 10:44
  • 更新:2024-10-16 17:58
  • 阅读:336

uniapp 怎么获取当前页面标题 以及 当前页面是否为自定义头部导航

分类:uni-app

vue3+ts+vite uniapp 怎么获取当前页面标题 以及 当前页面是否为自定义头部导航

2024-09-27 10:44 负责人:无 分享
已邀请:
糖丶宝可梦

糖丶宝可梦

// 微信小程序获取当前页面配置

getWxCurretPageTitle(route) {  
          if (route === '未取到' || !route) {  
            return '';  
          }  
          let title = '';  
          try {  
            if (__wxConfig) {  
              let wxConfig = __wxConfig;  
              let page_list = __wxConfig.page || {};  
              let currentPageConfig = page_list[route] || page_list[route + '.html'];  
              let globalConfigTitle = {},  
                pageConfigTitle = {};  
              if (wxConfig.global && wxConfig.global.window && wxConfig.global.window.navigationBarTitleText) {  
                globalConfigTitle.titleVal = wxConfig.global.window.navigationBarTitleText;  
              }  
              if (currentPageConfig && currentPageConfig.window && currentPageConfig.window.navigationBarTitleText) {  
                pageConfigTitle.titleVal = currentPageConfig.window.navigationBarTitleText;  
              }  

              if (!pageConfigTitle.titleVal && __wxAppCode__) {  
                let page_config = __wxAppCode__[route + '.json'];  
                if (page_config && page_config['navigationBarTitleText']) {  
                  pageConfigTitle.titleVal = page_config['navigationBarTitleText'];  
                }  
              }  
              if (title.length === 0) {  
                var finalTitle = _.extend(globalConfigTitle, pageConfigTitle);  
                title = finalTitle.titleVal || '';  
              }  
            }  
          } catch (err) {  
            console.error(err);  
          }  
          return title;  
        },
靐齉齾麤龖龗

靐齉齾麤龖龗 - 解决不了问题,那就解决提出问题的人

const page = getCurrentPages().at(-1)  
// 标题文字,仅支持page.json里面设置的或者使用uni.setNavigationBarTitle设置的,自定义的需要你自己获取  
const title = page.$page.meta.navigationBar.titleText  
// 是否是自定义导航栏  
const isCustom = page.$page.meta.navigationBar.style === 'custom'
糖丶宝可梦

糖丶宝可梦

微信小程序 端获取页面标题

getWxCurretPageTitle(route) {  
          let title = '';  
          try {  
            if (__wxConfig) {  
              let wxConfig = __wxConfig;  
              let page_list = __wxConfig.page || {};  
              let currentPageConfig = page_list[route] || page_list[route + '.html'];  
              let globalConfigTitle = {},  
                pageConfigTitle = {};  
              if (wxConfig.global && wxConfig.global.window && wxConfig.global.window.navigationBarTitleText) {  
                globalConfigTitle.titleVal = wxConfig.global.window.navigationBarTitleText;  
              }  
              if (currentPageConfig && currentPageConfig.window && currentPageConfig.window.navigationBarTitleText) {  
                pageConfigTitle.titleVal = currentPageConfig.window.navigationBarTitleText;  
              }  

              if (!pageConfigTitle.titleVal && __wxAppCode__) {  
                let page_config = __wxAppCode__[route + '.json'];  
                if (page_config && page_config['navigationBarTitleText']) {  
                  pageConfigTitle.titleVal = page_config['navigationBarTitleText'];  
                }  
              }  
              if (title.length === 0) {  
                var finalTitle = this.extendObj(globalConfigTitle, pageConfigTitle);  
                title = finalTitle.titleVal || '';  
              }  
            }  
          } catch (err) {  
            console.error(err);  
          }  
          return title;  
        },

APP 端获取页面标题

getAPPCurretPageTitle(route) {  
    if (__uniRoutes) {  
        const curPageJson = __uniRoutes.find(el=>el.path === `/${route}`)  
            if (curPageJson) {  
                return curPageJson.window.navigationBarTitleText  
            }  
            return ''  
        }  
        return ''  
}

条件编译获取

const pages = getCurrentPages()  
const currentPage = pages[pages.length - 1]  
// #ifdef APP  
return this.getAPPCurretPageTitle(currentPage.route)  
// #endif  
// #ifdef MP  
return this.getWxCurretPageTitle(currentPage.route);  
// #endif

要回复问题请先登录注册