使用[disabled]时绑定不能包含分配

时间:2019-03-12 06:08:54

标签: angular

enter image description here

当我使用[]禁用此错误时。

enter image description here

3 个答案:

答案 0 :(得分:3)

您能尝试一下吗,希望它能起作用

<input matInput type=text [(ngModel)]="this.CustomerDetails[0].firstname" name="firstname" [disabled]="this.CustomerDetails[0].name != '' ? true : false">

如果您这样做,它将不断调用该函数,并且有可能发生内存泄漏

<input matInput type=text [(ngModel)]="this.CustomerDetails[0].firstname" name="firstname" [disabled]="functionToCheckTrueOrFalse()">

答案 1 :(得分:0)

无需在模板上进行检查,只需在component.ts上添加一个函数即可检查条件并返回布尔值

CheckName(){
 if(this.CustomerDetails[0].name != ''){
    return true; 
 }
 return false;
}

并将功能绑定到模板上

<input [disabled]="CheckName()" id="name" type="text">

答案 2 :(得分:0)

在角度[disabled]中,用于禁用元素。因此,我们必须将条件传递给它,该条件将返回true或false并基于此条件将禁用该元素。但是,您试图为它分配一个空字符串,或者您是错误地这样做的。

  

让它像这样:

<input matInput type=text [value]="" [(ngModel)]="this.CustomerDetails[0].firstname
name="firstname" [disabled]="this.CustomerDetails[0].name">

因此,如果firstname具有值,则它将禁用输入文本框,否则它将保持启用状态。