uniapp微信小程序开发踩坑日记:onShow的应用场景及用法

这篇具有很好参考价值的文章主要介绍了uniapp微信小程序开发踩坑日记:onShow的应用场景及用法。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

onShow的应用场景

由于微信小程序是单页应用程序,所以用户在打开小程序后,只有第一次进入页面时会加载页面,之后再通过导航栏切换到相同的页面并不会导致页面重新加载

但是在某些场景下,我们希望每次用户一回到某个页面,就执行相应的函数,但因为导航栏切换页面并不会导致页面重新加载,所以页面中的代码不会被再次执行

如果大家和我一样使用vue3开发,可能会想到使用vue3的生命周期函数onMounted,但同样地,导航栏切换页面也不会导致dom元素重新渲染,所以onMounted并不会执行

这时我们就可以使用uniapp的生命周期函数onShow,onShow函数是每次页面显示的时候都会被触发

uniapp微信小程序开发踩坑日记:onShow的应用场景及用法,uni-app,微信小程序,小程序,前端,开发语言

onShow的用法

uni-app 页面除支持 Vue 组件生命周期外还支持下方页面生命周期函数,当以组合式 API 使用时,在 Vue2 和 Vue3 中存在一定区别,请分别参考:Vue2 组合式 API 使用文档 和 Vue3 组合式 API 使用文档。

如果你使用的是vue3的组合式API,可以参考以下代码

<script setup>
    import { onShow } from '@dcloudio/uni-app'

    onShow(()=>{
    console.log('哈哈!');
    })
<script>

一点小心得

这么一看onShow的使用场景和用法,是不是非常简单?但是这个问题卡了我几乎一整天

其实一开始解决这个问题,我是对AI不断地提问,因为觉得对AI,我可以针对我的需求进行提问,而且我确实很快地问出了解决方法

uniapp微信小程序开发踩坑日记:onShow的应用场景及用法,uni-app,微信小程序,小程序,前端,开发语言

但AI给出的方法很多时候并不完善,我在用的时候就出现了报错,于是我拿着报错信息再次对AI提问,AI又给了我一套解决方案,接下来我就进入了一个循环:我不断地拿着报错信息对AI提问,AI不断地给我提出新的解决方案,我不断地尝试AI提供的解决方案,然后程序又不断地报错,我拿到报错信息后又拿去问AI……

每次看到AI打出的第一句话是:“很抱歉,我之前给出的解决方案有误” 我就很崩溃,恨不得打几句话骂它一顿

最后,我还是在微信官方文档上找到了解决方案,原来是我导入onShow的方式不对,正确的导入方式应该是:import { onShow } from '@dcloudio/uni-app',AI提供的导入方式一直是错的,但其实我也是看了几遍官方文档后才找到了这句话:“uni-app 页面除支持 Vue 组件生命周期外还支持下方页面生命周期函数,当以组合式 API 使用时,在 Vue2 和 Vue3 中存在一定区别,请分别参考:Vue2 组合式 API 使用文档 和 Vue3 组合式 API 使用文档。” 点进第二个链接之后才找到正确的导入方式 

其实我平时挺讨厌看官方文档,因为总觉得官方文档的语言死板晦涩,而且很难找到我需要的,好不容易找到了,也不一定看得懂

但是今天,这件事情给我了我一个教训:AI不能全信,官方文档不能不看!文章来源地址https://www.toymoban.com/news/detail-834208.html

到了这里,关于uniapp微信小程序开发踩坑日记:onShow的应用场景及用法的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • uniapp-微信小程序,对子组件实现onShow效果

    背景:使用uni-app开发一个微信小程序,使用的vue子组件,发现在子组件里面不能使用onShow生命周期,但是可以在page里面可以调用,需要在使用uni.navigateBack()返回后,该组件能请求接口数据刷新 解决:父级组件中,在子组件上添加ref,在父级onShow中通过子组件ref调用方法 父组

    2024年02月11日
    浏览(34)
  • [uniapp]踩坑日记 unexpected character > 1或‘=’>1 报错

    在红色报错文档里下滑,找到Show more 根据提示看是缺少标签,如果不是缺少标签,看看view标签内容是否含有、、=、=号,把以上符合都进行以号为例做{{“”}}处理

    2024年02月09日
    浏览(30)
  • uniapp + vue3微信小程序开发(3)微信授权登录

    接口获取openId = 用户微信信息入库 = 手机号授权入库 我们知道小程序都是需要openId的,那我们可以通过前端获取,也可以通过后端接口获取, 前端就是这个地址,appid和secret 在你微信公众平台下都可以找到, code,在你调用uni.login就可以获取,但是切记, code码只能使用一次

    2024年02月08日
    浏览(88)
  • uniapp微信小程序开发,生成海报插件painter的使用

    下载地址:https://github.com/Kujiale-Mobile/Painter 代码下载后,将component中的painter文件夹放入项目wxcomponents文件夹中(如果没有该文件夹,就在项目根目录中创建一个)    在pages.json中引入painter插件    同时也需要在页面中引入   使用React App来可视化编辑海报的模板代码:https

    2024年02月08日
    浏览(55)
  • 【小程序开发必备】微信小程序常用API全介绍,附示例代码和使用场景

    ✍创作者:全栈弄潮儿 🏡 个人主页: 全栈弄潮儿的个人主页 🏙️ 个人社区,欢迎你的加入:全栈弄潮儿的个人社区 📙 专栏地址:小程序从入门到精通 【分享几个国内免费可用的ChatGPT镜像】 【10几个类ChatGPT国内AI大模型】 【用《文心一言》1分钟写一篇博客简直yyds】

    2023年04月09日
    浏览(29)
  • 【uniapp】uniapp微信小程序开发:启动微信开发者工具提示no such file or directory错误...

    当使用uniapp运行微信小程序模拟的时候,遇到这样的错误: #initialize-error: Error: ENOENT: no such file or directory  开启安全服务端口

    2024年02月16日
    浏览(35)
  • uniapp + vue3微信小程序开发(2)活体人脸识别

    最新提示:微信小程序上线前审核,要求你必须使用微信自带活体识别的sdk,自己开发的不会被允许通过,望周知! 这相信有很多小程序都会用,为啥呢?因为小程序压根不得给你用户身份证信息,所以替换做法就是你让用户上传身份证照片,然后你在人脸识别,判断是同一

    2024年02月15日
    浏览(37)
  • uniapp小程序开发|基于微信小程序实现小型比赛自动编排系统

    作者主页:编程指南针 作者简介:Java领域优质创作者、CSDN博客专家 、CSDN内容合伙人、掘金特邀作者、阿里云博客专家、51CTO特邀作者、多年架构师设计经验、腾讯课堂常驻讲师 主要内容:Java项目、Python项目、前端项目、人工智能与大数据、简历模板、学习资料、面试题库

    2024年02月11日
    浏览(32)
  • 微信小程序逆向踩坑日记

    1、首先解包,用UnpackMiniApp.exe进行解密,报错:小程序ID获取失败,无法解密。  解决方法:用的另外一个大佬的解密工具(听说只有电脑的有加密,手机的没有,如果加密失败,可以尝试才模拟器上找到对应的小程序包直接进行反编译)。https://codeload.github.com/superBiuBiuMan/

    2024年02月16日
    浏览(36)
  • 产品日记——微信小程序订阅消息踩坑43101

    1 “这里有个bug” 在选择允许订阅某一次性模版消息并且勾选“总是保持以上操作,不再询问”后,第一次模版消息触达成功;但是第二次同样的事件触发该模版订阅授权时,用户端不再弹授权弹窗,同时却没有收到该模版消息   按理说,用户已经默认允许授权该模版消息,

    2024年02月10日
    浏览(37)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包