Angular2:将子装饰器添加到子类中的继承装饰器

时间:2017-02-13 13:15:36

标签: angular inheritance decorator angular-decorator angular2-inputs

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

在这种情况下,我收到以下错误:

未处理的承诺拒绝:模板解析错误: 无法绑定到'字段'因为它不是' bar'

的已知属性。

似乎设置新的Decorator变量(anotherField)会隐藏继承的Decorator变量。我是对的吗?

那么,如何将一个或多个Decorator变量添加到扩展具有自己的装饰器的类的类中?

编辑:我目前正在使用Angular 2.4.2。

0 个答案:

没有答案