我打算从一个扩展两个 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 被注册为角度控制器。这很好用,但是我注意到,基类被调用两次,每次访问每个控制器时。几个问题:
这种设计模式正确吗?如果是,如何防止基构造函数被调用两次?我想要实现的是在两个控制器之间共享一些方法。如果上述情况无效,那么实现这一目标的理想方法是什么?