0

我打算从一个扩展两个 ES6 类,两个扩展类在 Angular 中用作控制器。

例如,

class Base {
   constructor(name,age){
      this.name=name;
      this.age=age;
   }

   getDetails(){
      return this.name + ' ' + this.age; 
  }

}

class Controller1 extends Base{
   constructor(name,age){
     super(name,age); 
     this.getDetails = this.getDetails.bind(this);     
   }

   getDetails(){
      return super.getDetails();
  }

}


class Controller2 extends Base{
   constructor(name,age){
     super(name,age); 
     this.getDetails = this.getDetails.bind(this);     
   }

   getDetails(){
      return super.getDetails();
  }

}

在上面的示例中,控制器 1 和控制器 2 被注册为角度控制器。这很好用,但是我注意到,基类被调用两次,每次访问每个控制器时。几个问题:

这种设计模式正确吗?如果是,如何防止基构造函数被调用两次?我想要实现的是在两个控制器之间共享一些方法。如果上述情况无效,那么实现这一目标的理想方法是什么?

4

0 回答 0