【问题标题】:Angular2: pass boolean to @InputAngular2:将布尔值传递给@Input
【发布时间】:2016-10-24 13:27:26
【问题描述】:

我正在用 angular2 编写一个可重用的组件。在父组件中,我可以通过将 @Input 包含在模板中来设置子组件的值,如下所示:

 <child-component #logoutModal [button1Text]="'Do Something Groovy'" 
  [showbutton1]="false"></child-component'

正如预期的那样,使用{{ button1Text }} 将文本插入到子项中。但是,对于上面的布尔值,该值不会传递到模板中。如果我在子组件的模板中执行{{showButton1}},它会显示true,这是使用@Input 装饰器在子类中设置的默认值。

编辑:这是我在子组件中设置默认值的方式:

export class ChildComponent implements AfterViewInit {
  // default values
  @Input() public showButton1: boolean = true;
  @Input() public button1Text: string = 'OK';
  //..

如何从父组件覆盖/设置这个布尔值?谢谢!

【问题讨论】:

  • 你能展示你组件的那部分吗?

标签: angular


【解决方案1】:

应该是

[showButton1]

而不是

[showbutton1]

(大写 B - Angular2 模板区分大小写)

【讨论】:

  • 卫生署!掌脸。感谢您的耐心等待!
  • 我只花了 3 个小时试图弄清楚为什么我的布尔输入不尊重输入的布尔值(我错过了方括号)。感谢您的简单示例。
猜你喜欢
  • 2017-08-19
  • 2015-09-08
  • 1970-01-01
  • 1970-01-01
  • 2021-06-08
  • 2012-10-06
  • 2021-10-29
  • 1970-01-01
  • 2015-12-22
相关资源
最近更新 更多