当前位置: 首页 > wzjs >正文

手机版 pc 版本 网站 跳转 seo海豹直播nba

手机版 pc 版本 网站 跳转 seo,海豹直播nba,上社网站建设,镇江网站建设介绍服务目录 问题示例代码解决思路1(缺点影响显示效果有延迟)解决思路2——通过路由刷新页面(缺点只适用于部分网页)解决思路3——vuex(没学会~)总结 欢迎关注 『uniapp』 专栏,持续更新中 欢迎关注 『…

目录

    • 问题示例代码
    • 解决思路1(缺点影响显示效果有延迟)
    • 解决思路2——通过路由刷新页面(缺点只适用于部分网页)
    • 解决思路3——vuex(没学会~)
    • 总结


欢迎关注 『uniapp』 专栏,持续更新中
欢迎关注 『uniapp』 专栏,持续更新中

问题示例代码

我这个业务场景是在跟随系统主题(深色/浅色模式)的情况下 用户在设置中修改了主题后app自动适应主题。

开启了主题监听

			uni.onThemeChange(({theme}) => {console.log('onThemeChange', theme)uni.setStorageSync('sys_theme', theme)if (uni.getStorageSync('theme_isAuto')) {uni.setStorageSync('theme_mode', theme)}})

在onshow中根据读取的主题设置颜色样式

				this.theme_mode = uni.getStorageSync('theme_mode')//设置顶部导航背景颜色this.navbarBackground = {background: this.theme_mode === 'dark' ? this.themeConfig.dark.navBgColor : this.themeConfig.light.navBgColor};//顶部导航字体颜色this.navTxtStyle = this.theme_mode === 'dark' ? this.themeConfig.dark.navTxtStyle : this.themeConfig.light.navTxtStyle;console.log('ok', this.theme)

排查了半天bug最后发现输出日志的结果

'ok', this.theme
'theme_mode', theme

也就是我们的onshow都执行完毕了,onThemeChange才姗姗来迟,当然无法成功渲染页面。


解决思路1(缺点影响显示效果有延迟)

延迟执行,虽然很low,但是一步到位。(我最后才想到这个办法~)最关键的是之前试了没有成功,一直以为不可行,后来发现是因为没有把this.theme_mode = uni.getStorageSync('theme_mode')放到setTimeout里面。

			setTimeout(() => {this.theme_mode = uni.getStorageSync('theme_mode')//设置顶部导航背景颜色this.navbarBackground = {background: this.theme_mode === 'dark' ? this.themeConfig.dark.navBgColor : this.themeConfig.light.navBgColor};//顶部导航字体颜色this.navTxtStyle = this.theme_mode === 'dark' ? this.themeConfig.dark.navTxtStyle : this.themeConfig.light.navTxtStyle;}, 100);

解决思路2——通过路由刷新页面(缺点只适用于部分网页)

本质是用uni.reLaunch 页面跳转,而且会导致你无法跳转回原来的网页

在app.vue的onLaunch中

  onLaunch() {uni.onThemeChange(({ theme }) => {console.log('onThemeChange', theme);// 触发路由刷新this.refreshPageRoute();});},

在app.vue的methods中

// 触发路由刷新的方法
refreshPageRoute() {// 获取当前页面路由路径const pages = getCurrentPages();const currentPage = pages[pages.length - 1];const route = currentPage.route;console.log(`/${route}`); // 注意使用反引号(`)来实现字符串插值// 使用 uni.reLaunch 方法刷新当前页面uni.reLaunch({url: `/${route}`});
} 

解决思路3——vuex(没学会~)

使用 Vuex 管理状态: 如果你的应用使用了 Vuex 来管理全局状态,你可以在主题变化时更新一个全局状态,然后在需要更新的页面中监听这个状态的变化,在变化时手动调用 onShow 方法。


总结

大家喜欢的话,给个👍,点个关注!给大家分享更多计算机专业学生的求学之路!

版权声明:

发现你走远了@mzh原创作品,转载必须标注原文链接

Copyright 2024 mzh

Crated:2024-4-1

欢迎关注 『uniapp』 专栏,持续更新中
欢迎关注 『uniapp』 专栏,持续更新中
『未完待续』


http://www.dtcms.com/wzjs/345189.html

相关文章:

  • 动态网页技术厦门百度seo
  • 济南网站制作运营推广的公司
  • 邳州哪家做百度推广网站网站优化比较好的公司
  • 门户网站开发 系统介绍seo中文含义
  • 网站设计草图世界新闻最新消息
  • 用户体验好的网站广州网站优化工具
  • 域名网站排名短信营销平台
  • seo北京网站推广百度关键词排名神器
  • 农村网站平台建设方案南京网络优化培训
  • 创建自己的网站需要准备什么网站排名在线优化工具
  • 2013年以前pc网站建设电话营销技巧和营销方法
  • 网站热力图怎么做谷歌seo是做什么的
  • 室内设计师联盟官网入口seo工资待遇怎么样
  • 网站开发工程师的生活形态html网页制作代码大全
  • 网站功能是什么南昌seo排名外包
  • 如何建设好政府门户网站免费网站流量统计
  • 想学做电商怎么加入重庆百度推广关键词优化
  • 河南洛阳网站建设行者seo无敌
  • 深圳精品网站建设公司域名注册平台哪个好
  • 做网站个人怎么签合同旅游seo整站优化
  • 做网站使用什么语言写网络项目资源网
  • 做网站能赚钱么品牌形象推广
  • 网站建设合同是否缴纳印花税电商网站开发需要多少钱
  • 模板下载网站源码 模板下载网站织梦模板推广软件是什么工作
  • 公司百度网站建设seo专业技术培训
  • 做家装家居网站百度云搜索引擎入口官网
  • 永仁网站建设适合seo的建站系统
  • 阿里云开发者社区seo优化效果怎么样
  • 凡客建站网附子seo教程
  • 广告传媒公司取名seo计费系统源码