混入的文件
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
}
}
- 发布:2022-09-18 00:16
- 更新:2022-10-08 15:46
- 阅读:517
产品分类: uniapp/小程序/微信
PC开发环境操作系统: Windows
PC开发环境操作系统版本号: 21H2
HBuilderX类型: 正式
HBuilderX版本号: 3.6.2
第三方开发者工具版本号: 1.06.2209060
基础库版本号: 2.25.4
项目创建方式: HBuilderX
示例代码:
操作步骤:
1、随便一个组件,不要写onLoad生命周期。
2、给组件写onLoad生命周期,随便打印一个和mixin中不同的内容
组件和页面都执行了onLoad生性周期。如果直接在组建中写onLoad是不会执行的。
1、随便一个组件,不要写onLoad生命周期。
2、给组件写onLoad生命周期,随便打印一个和mixin中不同的内容
组件和页面都执行了onLoad生性周期。如果直接在组建中写onLoad是不会执行的。
预期结果:
组件中打印了mixins中的onLoad中的console
组件内自行写的onLoad内的内容不会被打印
组件中打印了mixins中的onLoad中的console
组件内自行写的onLoad内的内容不会被打印
实际结果:
组件中打印了mixins中的onLoad中的console
组件内自行写的onLoad内的内容不会被打印
组件中打印了mixins中的onLoad中的console
组件内自行写的onLoad内的内容不会被打印
bug描述:
开启全局混入后,onLoad生命周期在组件中生效并且执行了,而> 组件本身是没有onLoad生命周期的。如果直接在组建中写onLoad生命周期,是不会被执行的。
1 个回复
DCloud_UNI_WZF
组件中目前是支持页面生命周期的
之所以页面中写了对应钩子组件中才会生效,是因为小程序中涉及到通信成本,只有页面中有对应钩子,组件中的才会被处理