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