j***@163.com
j***@163.com
  • 发布:2022-09-18 00:16
  • 更新:2022-10-08 15:46
  • 阅读:73

【报Bug】开启全局混入后生命周期函数执行异常的bug(目前在使用vue3版本,vue2版本尚未查验)

分类:uni-app

产品分类: uniapp/小程序/微信

PC开发环境操作系统: Windows

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

HBuilderX类型: 正式

HBuilderX版本号: 3.6.2

第三方开发者工具版本号: 1.06.2209060

基础库版本号: 2.25.4

项目创建方式: HBuilderX

示例代码:

混入的文件
export default {
onLoad(e) {
const pages = getCurrentPages()
const current = pages[pages.length - 1]
console.log('onLoad--',current.route,'-->'+JSON.stringify(e),this)
}
}
混入的代码
import { createSSRApp } from 'vue'
export function createApp() {
const app = createSSRApp(App)
app.config.globalProperties.$request = request;
app
.use(uviewPlus)
.use(store)
.mixin(mixins)
return {
app
}
}

操作步骤:

1、随便一个组件,不要写onLoad生命周期。
2、给组件写onLoad生命周期,随便打印一个和mixin中不同的内容
组件和页面都执行了onLoad生性周期。如果直接在组建中写onLoad是不会执行的。

预期结果:

组件中打印了mixins中的onLoad中的console
组件内自行写的onLoad内的内容不会被打印

实际结果:

组件中打印了mixins中的onLoad中的console
组件内自行写的onLoad内的内容不会被打印

bug描述:

开启全局混入后,onLoad生命周期在组件中生效并且执行了,而> 组件本身是没有onLoad生命周期的。如果直接在组建中写onLoad生命周期,是不会被执行的。

2022-09-18 00:16 负责人:无 分享
已邀请:
DCloud_UNI_WZF

DCloud_UNI_WZF

组件中目前是支持页面生命周期的
之所以页面中写了对应钩子组件中才会生效,是因为小程序中涉及到通信成本,只有页面中有对应钩子,组件中的才会被处理

要回复问题请先登录注册