【问题标题】:Angular 6 @input() set() is not working. Is there a way to make it work?Angular 6 @input() set() 不工作。有没有办法让它工作?
【发布时间】:2019-04-22 11:40:37
【问题描述】:

我创建了一个组件,它将基于 JSON 动态呈现按钮 它接受一些输入,如禁用、颜色和大小:

现在在app-dynamic-form-buttons 组件中,我收到这样的输入:

@Input('butnDisabled')
  set butnDisabled(value: any) {
    this.disable = value;
  } 

并分配给局部变量。

这个butnDisabled 变量不断检查所需的表单字段并返回真或假。

它返回不同的布尔值,但 @Input 没有捕获它们。

我试过这样:

@Input('butnDisabled')
  set butnDisabled(value: any) {
    this.disable = value;
  }

谁能建议一种使用@Input 标签获得连续输入的方法?

【问题讨论】:

  • 只要使用@Input() set butnDisabled(val) {//}

标签: angular input angular6


【解决方案1】:

不要给输入装饰器添加任何参数,像这样使用它:

@Input() set butnDisabled(value: any) {
    this.disable = value;
}

【讨论】:

  • @saikrishna 我需要更多细节,可以在这里复制您的问题 -> stackblitz.com ?
  • 我在这里添加了代码stackblitz.com/edit/angular-rlq8vf.. 现在我想在 app.component.ts 中编写一个方法,让 hello 组件知道每个按钮的状态,无论它是否被禁用
  • 也许我也应该为此添加代码..我会添加它
  • @saikrishna 但是 hello 组件已经知道按钮的状态,这就是为什么您只有一个启用的按钮、按钮上的文本等。我​​没有得到您的要求
  • @saikrishna 为什么你添加了另一种方法?这基本上是在反转禁用状态。但这仍然不是你的问题,是吗?如果您在 set disabl(val) {} 下添加 console.log(val) ,您应该会看到日志
猜你喜欢
  • 1970-01-01
  • 2022-01-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-05-27
  • 2012-10-08
  • 2010-11-30
  • 2020-03-09
相关资源
最近更新 更多