芜湖老码农
芜湖老码农
  • 发布:2023-02-21 19:37
  • 更新:2023-02-24 11:51
  • 阅读:243

【报Bug】难道组件也有生命周期onReady?

分类:uni-app

产品分类: uniapp/App

PC开发环境操作系统: Windows

PC开发环境操作系统版本号: win10

HBuilderX类型: 正式

HBuilderX版本号: 3.7.2

手机系统: Android

手机系统版本号: Android 12

手机厂商: 华为

手机机型: 红米

页面类型: vue

vue版本: vue2

打包方式: 云端

项目创建方式: HBuilderX

示例代码:

条件:
1,页面有mixin;
2,在mixin中有onReady方法;
3,页面有组件;

除了H5,小程序中的时候,所有组件也会执行onReady,当页面有很多组件时,onReady就执行x+1次。

操作步骤:

条件:
1,页面有mixin;
2,在mixin中有onReady方法;
3,页面有组件;

除了H5,小程序中的时候,所有组件也会执行onReady,当页面有很多组件时,onReady就执行x+1次。

预期结果:

onReady在每个页面只应该被执行一次。

实际结果:

当页面有很多组件时,onReady就执行x+1次。

bug描述:

条件:
1,页面有mixin;
2,在mixin中有onReady方法;
3,页面有组件;

除了H5,小程序中的时候,所有组件也会执行onReady,当页面有很多组件时,onReady就执行x+1次。

2023-02-21 19:37 负责人:无 分享
已邀请:
DCloud_UNI_WZF

DCloud_UNI_WZF

vue2 App端测试未复现该问题,如确认框架问题,请提供测试工程,谢谢

芜湖老码农

芜湖老码农 (作者)

附件是再现示例。

只测试了微信小程序,根据我实际项目,在抖音小程序也是一样的情况。

芜湖老码农

芜湖老码农 (作者)

如果短期内无法解决,有没有什么办法在mixin.js中有没有什么方法判断当前是组件还是页面?

  • DCloud_UNI_WZF

    小程序中可通过 this.mpType 判断页面还是组件

    2023-02-24 11:37

芜湖老码农

芜湖老码农 (作者)

刚测试了app-plus,也不存在这个问题。

  • DCloud_UNI_WZF

    条件:

    1,页面有mixin;

    2,在mixin中有onReady方法;

    3,页面有组件;


    除了H5,小程序中的时候

    开始我以为你说的是App端页面中 mixin

    文档中有说明

    Vue.mixin 全局注册一个混入,影响注册之后所有创建的每个 Vue 实例

    2023-02-24 11:33

芜湖老码农

芜湖老码农 (作者)

这我知道啊,问题是组件也会触发onReady,而且只在小程序中会触发,H5或APP都不触发。

onReady是页面的生命周期,按我的理解应该是在组件中会直接忽略。

芜湖老码农

芜湖老码农 (作者)

直接在组件中放一个onReady,在小程序中也会被执行。

  • 3***@qq.com

    我也遇到了,组件中写了onReady,在H5端不执行,在微信小程序中会执行。

    2023-10-17 09:33

要回复问题请先登录注册