dcloudio / uni-app

A cross-platform framework using Vue.js
https://uniapp.dcloud.io
Apache License 2.0
40.15k stars 3.64k forks source link

Page对象无法代理或重写 #5190

Open HomCrazyEveryDay opened 1 month ago

HomCrazyEveryDay commented 1 month ago

我写了一个跨平台的js,在taro、微信小程序、支付宝小程序都可以直接重写Page对象,统计各个生命周期页面耗时,进行无入侵埋点。 但是在uniapp内部无法重写 示例代码:

`const originalPage = Page;

Page = function(config) { const originalOnLoad = config.onLoad; config.onLoad = function(...args) { console.log("onLoad enhanced"); if (typeof originalOnLoad === 'function') { originalOnLoad.apply(this, args); } };

//其他生命周期方法

// 调用原始的 Page 方法,传入增强后的 config originalPage(config); };`

我的问题就是我再uniapp应该如何兼容?

网上也有其他人遇到类似问题:https://ask.dcloud.net.cn/question/183312