收藏
回答

想劫持Component或者Page方法预设设置一些数据和方法,但是劫持Component老是报错?

const defaultSet={
  data:{
    theme:theme
  },
  // 设置加载中的状态 tool
  //setLoading(loading, state) {
    //const key = `loading.${loading}`
    // this.setData({
    //   [key]: state ? true : false
    // })
  //}
}
const that = this
let originalPage = Page
Page = function(obj{
  return originalPage(util.deepMerge(defaultSet,obj))
}
let originalComponent = Component
Component = function(obj{
  return originalComponent(util.deepMerge(defaultSet,obj))
}


回答关注问题邀请回答
收藏

2 个回答

  • 看破却无解
    看破却无解
    2021-10-21

    像设置Page一样设置没做到,不过通过Component生命周期为 Component 添加了 一些公共参数

    defaultData = {ab:123}

    if(!obj.lifetimes){

        obj.lifetimes = {};

      }

      if(!obj.lifetimes.created){

        obj.lifetimes.created = function(){};

      }

      let lifeCreated = obj.lifetimes.created;

      obj.lifetimes.created = function(){

        Object.assign(this,defaultData);

        lifeCreated.call(this);

      }

    2021-10-21
    有用
    回复
  • optimistic
    optimistic
    2020-11-11

    是不是你把全局的Component重新赋值导致的 换个名看看

    2020-11-11
    有用
    回复 1
    • 年华 错落成诗
      年华 错落成诗
      2020-11-26
      是的,后来我改了,但是在真机上还是不行,还是不劫持了
      2020-11-26
      回复
登录 后发表内容
问题标签