Angular 在扩展组件上绑定到@Input无效
我有以下情况:Angular 在扩展组件上绑定到@Input无效,angular,Angular,我有以下情况: export class ComponentA { @Input model } @Component({ template: ` <h5>{{model.name}}</h3> ` }) export class ComponentB extends ComponentA { @Output changed = new EventEmitter(); } @Component({ template: `
export class ComponentA
{
@Input model
}
@Component({
template:
`
<h5>{{model.name}}</h3>
`
})
export class ComponentB extends ComponentA
{
@Output changed = new EventEmitter();
}
@Component({
template:
`
<component-b [model]="myModel"> </component-b>
`
})
export class ComponentC{
public myModel:any = {name:'bla'}
}
导出类组件a
{
@输入模型
}
@组成部分({
模板:
`
{{model.name}
`
})
导出类ComponentB扩展ComponentA
{
@输出已更改=新的EventEmitter();
}
@组成部分({
模板:
`
`
})
导出类组件C{
public myModel:any={name:'bla'}
}
与模型的绑定不起作用。
但是,如果我删除@Output成员,它会工作的
有什么建议吗?似乎是出于设计考虑,
@Input()
s不会被继承。另请参见如果他们是……那就太好了谢谢我猜当我删除输出,然后输入继承工作时是一个BUG?你能理解为什么我们不能继承@Inputs吗?我刚刚记得看到这个问题,当我看到你的问题时,我查了一下。该问题尚未解决,因此仍可以考虑实施该问题。我参与了关于Dart的类似讨论,讨论的内容是继承实现OnInit
(实现SomeLifcycleInterface
在Dart中是强制性的)。他们目前不支持它,因为在使用当前构建基础架构构建大型应用程序时,它会导致性能问题。他们肯定希望支持继承生命周期接口实现。可能是一样的reason@Input()`目前不起作用。我认为这与执行顺序有关,修饰符在构造函数之前运行。甚至可能是在编译时?我想我在某个地方读过,但找不到,而且我对打字本也不太了解(: