Angular2,如何在扩展父类时初始化组件类(子)?

时间:2016-02-19 12:41:37

标签: inheritance angular

例如,我有一个组件,一个名为ChildComponent的类从paren类扩展而来。如何初始化ChildComponent类?在angular2中,当组件在html中使用时,它会自动调用ChildComponent类,然后在它super(param1, param2);期间发生了什么?谁能举个例子来解释一下呢?

class ChildComponent extends Parent {
   constructor(param1: string, param2: string){
      super(param1, param2);
   };
}

class Parent {
   constructor(param1: string, param2: string){};
}

1 个答案:

答案 0 :(得分:0)

实际上,您不会使用Angular2自行初始化组件。后者通过自己管理它们。这就是为什么组件构造函数中提供的参数由框架注入的原因。如果你愿意,你可以自由地调用超级构造函数。

修改

使用TypeScript,您可以利用构造函数参数的类型。例如,注入一个Http实例:

@Component({
  (...)
})
export class MyComponent {
  constructor(private http:Http) {}
}

您需要配置提供程序以允许Angular2实例化要注入的元素。对于Http:

bootstrap(MyComponent, [ HTTP_PROVIDERS ]);