我在angular2中编写了一个可重用的组件。在父组件中,我可以通过将它包含在模板中来设置子项中@Input的值,如下所示:
<child-component #logoutModal [button1Text]="'Do Something Groovy'"
[showbutton1]="false"></child-component'
正如预期的那样,使用{{ button1Text }}
将文本插入到子项中。但是,对于上面的布尔值,该值不会传递到模板中。如果我在子组件模板中执行{{showButton1}}
,则会显示true
,这是使用@Input
装饰器在子类中设置的默认值。< / p>
编辑:这是我如何在子组件中设置默认值:
export class ChildComponent implements AfterViewInit {
// default values
@Input() public showButton1: boolean = true;
@Input() public button1Text: string = 'OK';
//..
如何从父组件覆盖/设置此布尔值?谢谢!
答案 0 :(得分:11)
应该是
[showButton1]
而不是
[showbutton1]
(大写B
- Angular2模板区分大小写)