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

h5商城网站建站新闻投稿平台

h5商城网站建站,新闻投稿平台,自己做网站挂广告怎么赚钱,wordpress模板怎么添加菜单目录 问题示例代码解决思路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.mmbaike.com/news/102397.html

相关文章:

  • 网站建设金简单制作html静态网页
  • 广告创意设计文案甘肃seo网站
  • html网站建设中成都seo培训班
  • 沈阳世纪兴网站制作公司搭建一个网站的流程
  • 网站建设做的好的公司百度指数官方版
  • 做的网站图片显示一半如何创建自己的小程序
  • 对软件工程专业的认识什么是搜索引擎优化?
  • 教育网站建设旅游seo整站优化
  • 企业网站建设实验报告建一个外贸独立站大约多少钱
  • 视频弹幕网站建设百度框架户一级代理商
  • 免费的建筑设计网站ip软件点击百度竞价推广
  • 沈阳网站开发简维沈阳网站制作推广
  • 做网站话术免费网络推广网址
  • php网站授权seo短期课程
  • 学做缝纫的网站公司网络推广方案
  • 网站需要的栏目和内容百度联盟广告收益
  • 网页设计的网站推荐汕头seo
  • wordpress网站系统网盘资源大全
  • 长沙关键词排名软件黑帽seo是什么
  • 个人网站 备案 备注外链是什么
  • 手机网站制作移动高端网站建设安卓优化大师2021
  • 怎么做交易网站网络推广软文
  • 呼和浩特免费制作网站南京百度网站快速优化
  • 北京网站建设公司房山华网厦门seo小谢
  • 网站开发进度设计与阶段目标谷歌官网注册入口
  • 做网站实例教程优化大师下载安装app
  • 新乡哪有做网站的优秀网站设计案例
  • 建设一个能看视频的网站网络优化工资一般多少
  • 镇江网站建设找 思创磁力狗在线引擎
  • 做网站百度推广短视频矩阵seo系统源码