在Angular 2+中继承组件

时间:2018-11-30 16:17:34

标签: angular

可以在Angular 2+中继承@Component类吗?这样的事情(请注意,构造函数将注入服务):

@Component({})
export class Parent {
    constructor ( s0: Service1 ) {}
}

@Component({
     template: 'text1'
})
export class Child1 extends Parent {
    constructor ( s1: Service1 ) { super(s1); }
}

@Component({
     template: 'text2'
})
export class Child2 extends Parent {
    constructor ( s2: Service1 ) { super(s2); }
}

1 个答案:

答案 0 :(得分:2)

当然,尽管您可能希望将类型Parent标记为abstract,并删除@Component作为该类型的装饰器。

export abstract class Parent {
    constructor (protected s0: Service1 ) {}
}

我还将s0标记为受保护,因此可以在派生类型中对其进行访问