有没有办法以角度有条件地设置所需的输入?

问题描述 投票:0回答:2

我想要实现的是仅在给出另一个输入时才需要组件/指令输入,例如:

@Input() name!:string; 
@Input({ required: name!!}) surname!:string;

这可能吗?

我尝试设置

required: name!!
,但它没有按预期工作,我可能访问的唯一字段是静态字段

angular input components directive required
2个回答
0
投票

这是不可能的,你可以参考装饰器中的

this

另请记住,

required
输入只是编译器的功能。此信息不会进入运行时捆绑包。


0
投票

您展示的这种方式是不可能的,但如果我很好地理解了您的目的,为了实现您的目标,您可以使用 getter 和 setter 来检查所需的输入数据何时在您的角度子组件中被赋值。 例如:

    private _name: string;

public get name(): string {
  return this._name;
}
@Input() public set name(value: string) {
  if (value) {
    // you can assign the value that come in input
    this._name = value;
  }
  else {
    // example: show a toast message error if !value
  }
}


  
© www.soinside.com 2019 - 2024. All rights reserved.