宇林
宇林
  • 发布:2024-11-01 17:24
  • 更新:2024-11-02 10:34
  • 阅读:173

微信小程序自定义组件会触发onReady页面生命周期

分类:uni-app

在微信小程序页面中使用自定义组件,组件和页面在同一目录下,加载页面时,会触发组件的onReady生命周期事件。
是不是放在不同目录就不会触发(未测试)?不知道这个算不算bug,还是说组件和页面不应该放在同一目录下?

2024-11-01 17:24 负责人:无 分享
已邀请:
爱豆豆

爱豆豆 - 办法总比困难多

是不是vue3版本的uniapp项目?页面上是不是也引入了这个组件?
能发个复现demo吗?

  • 宇林 (作者)

    是的,vue3版本的uniapp项目,页面引入了组件,并且页面和该组件在同一目录下,demo稍等一下

    2024-11-02 09:04

  • 宇林 (作者)

    demo在下面回复

    2024-11-02 09:18

  • 爱豆豆

    目前vue3组合式是注册时就会触发 onShow 和 onLoad 函数。 这是为了让组件监听到页面的生命周期

    所以vue3版本 自定义组件内的onReady也会被触发

    你可以参考下这个问答下的回复:https://ask.dcloud.net.cn/question/194653

    2024-11-05 15:19

  • 爱豆豆

    回复 宇林: 文档好像还没更新

    2024-11-05 15:20

  • 宇林 (作者)

    回复 爱豆豆: 这个也是我提的,一开始使用onLoad不行,改用onReady,app使用逻辑正常,作为组件不会被触发,但是小程序依然会触发

    2024-11-05 16:38

  • 爱豆豆

    回复 宇林: 哈哈哈哈哈 没注意 小程序上全都会被触发 不知道算不算bug

    2024-11-05 16:40

  • 宇林 (作者)

    回复 爱豆豆: 请问一下,如果页面既当组件又当页面,该如何进行判断?在onMounted里面通过props传值吗?

    2024-11-05 16:47

  • 爱豆豆

    回复 宇林: 没试过 应该是可以用props传值来判断 当前是页面还是组件状态的

    2024-11-05 17:03

  • 宇林 (作者)

    回复 爱豆豆: 好的,谢谢回复

    2024-11-05 17:06

宇林

宇林 (作者)

解压直接运行到微信小程序即可

宇林

宇林 (作者)

放在不同目录下,实测页面调用组件也会触发组件onReady生命周期

要回复问题请先登录注册