0

我的 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。

4

0 回答 0