我的 Angular2 项目中有以下代码:
@Component({selector: 'foo'})
export class Foo {
@Input() protected field:any;
}
@Component({selector: 'bar'})
export class Bar extends Foo {
ngOnInit(): void {
if (this.field) {
// do something
}
}
}
在这种情况下,所有工作都像一个魅力:field
在组件“栏”中成功设置。
但是,如果我尝试向Input
子组件添加一个或多个,它就不起作用。这是新代码:
@Component({selector: 'foo'})
export class Foo {
@Input() protected field:any;
}
@Component({selector: 'bar'})
export class Bar extends Foo {
@Input() private anotherField:any;
ngOnInit(): void {
if (this.field) {
// do something
}
}
}
在这种情况下,我收到以下错误:
未处理的承诺拒绝:模板解析错误:无法绑定到“字段”,因为它不是“栏”的已知属性。
似乎设置新的装饰器变量 ( anotherField
) 隐藏了继承的装饰器变量。我对吗?
那么,如何将一个或多个装饰器变量添加到一个类中,该类扩展了一个拥有自己的装饰器的类?
编辑:我目前正在使用 Angular 2.4.2。