6***@qq.com
6***@qq.com
  • 发布:2019-09-04 11:07
  • 更新:2019-09-04 13:08
  • 阅读:1950

有没有办法给全局的生命周期 注入代码【不是mixin】

分类:uni-app

在小程序端,我可以通过 重写 Page ,实现侵入式注入代码, 可以在不改变原有业务代码的情况下, 给 页面的 onShow 调用前 跟 调用后 注入自己的业务代码, 在uni-app 端我找不到类似的解决方案,希望有人给点思路或者方向, 让我研究研究

2019-09-04 11:07 负责人:无 分享
已邀请:
渣渣火

渣渣火

因为 uni-app 内部创建页面的时候使用的是 Component,所以你得重写 Component

let com = Component;  
Component = function (config) {  
  if (config.methods.onShow) {  
    let onShow = config.methods.onShow;  
    config.methods.onShow = function () {  
      console.log('=====================onShow 前========================');  
      onShow.call(this);  
      console.log('=====================onShow 后========================');  
    }  
  }  
  com(config);  
}
  • 6***@qq.com (作者)

    可以,非常给力,多谢大佬分享经验

    2019-09-04 14:30

  • 6***@qq.com (作者)

    Component 在 h5端会报错, 大佬有兼容思路吗

    2019-09-05 11:52

  • 大同

    回复 6***@qq.com: 支付宝也无效,有没有处理呢

    2020-01-09 17:06

  • hzd

    回复 大同: 你好支付宝确实无效,请问你解决了吗

    2020-09-14 10:29

  • 大同

    回复 hzd: 最后还是用的 mixin

    2020-09-14 10:42

  • 大同

    main.js 里面 xxx.mixin(Vue);

    2020-09-14 10:44

  • hzd

    回复 大同: 哦哦好的谢谢了

    2020-09-22 19:37

该问题目前已经被锁定, 无法添加新回复