extends 怎么可以连父类数据也继承了?

问下各位大大

class page{
  data:{
     abc:23
   }
}
class basePage extends page{
    data:{
       xxx:456
    }
}

怎么实现
data={abc:23,xxx:456};
basePage要怎么继承page,才能实现basePage.data既有自己data,又不覆盖父类page的data.

不要跟我说换字段名,能换早换了,需求必须要统一字段data字段啊。

阅读 3k
4 个回答

既然是继承可以直接拿来用:

this.data.xxx = 456;

你这样写是直接覆盖 就跟下面一样

var data = {
     abc:23
   }
data = {
   xxx:456
}
console.log(data.abc)

在继承的子类中可以获取父类对象啊.不就能获取父类数据了吗

把aaa的data放在bbb的data中

      class aaa{
          constructor(){
              this.data={
                  aaa:"aaa"
              }
          }
      }
      class bbb extends aaa{
          constructor(data){
              super(data);
              this.data = {
                  ...this.data,
                  bbb:'bbb'
              }
              console.log(this.data);
          }
      }
      var b = new bbb();
      console.log(b);

如上面,在子类的构造函数中,调用super之后,super指向父类的原型对象
可以详细阅读下阮一峰的ES6入门书籍

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题