如何将三元运算符的结果字符串放入 angular
How put a string for result of ternary operator in angular
我在我的 Angular 应用程序上从 REST API 获取数据,并尝试将文本放入某些文本字段中。
我尝试使用三元运算符来测试我的数据是否存在,所以我
<input matInput matTooltip="{{index.tooltip}}" pattern="{{index.restriction}}" name="{{index.name}}"
[(ngModel)]="detailsArray.hasOwnProperty(index.name) ? detailsArray[index.name] : ''"
[ngModelOptions]="{standalone: true}">
如果我不使用属性 [ngModelOption],就会出现错误
但它给我一个错误,任何人都知道为什么字符串 '' 不起作用?我的代码有错吗?
我的错误:
[ERROR ->][(ngModel)]="detailsArray.hasOwnProperty(index.name) ? detailsArray[index.name] : ''" [ngModelOptions"): ng:///AppModule/DetailsComponent.html@18:108
Parser Error: Unexpected token '=' at column 72 in [detailsArray.hasOwnProperty(index.name) ? detailsArray[index.name] : ''=$event] in ng:///AppModule/DetailsComponent.html@18:108
正如 Eliseo 在评论中所说,您的代码适用于 [ngModel]
,但不适用于 [(ngModel)]
。 [(ngModel)]
只是这个的快捷方式:
<input [ngModel]="valueToModel" (ngModelChange)="valueToModel = $event" >
。在 guide 查看更多信息,其中显示了语句和表达式之间的差异。
我在我的 Angular 应用程序上从 REST API 获取数据,并尝试将文本放入某些文本字段中。 我尝试使用三元运算符来测试我的数据是否存在,所以我
<input matInput matTooltip="{{index.tooltip}}" pattern="{{index.restriction}}" name="{{index.name}}"
[(ngModel)]="detailsArray.hasOwnProperty(index.name) ? detailsArray[index.name] : ''"
[ngModelOptions]="{standalone: true}">
如果我不使用属性 [ngModelOption],就会出现错误
但它给我一个错误,任何人都知道为什么字符串 '' 不起作用?我的代码有错吗?
我的错误:
[ERROR ->][(ngModel)]="detailsArray.hasOwnProperty(index.name) ? detailsArray[index.name] : ''" [ngModelOptions"): ng:///AppModule/DetailsComponent.html@18:108
Parser Error: Unexpected token '=' at column 72 in [detailsArray.hasOwnProperty(index.name) ? detailsArray[index.name] : ''=$event] in ng:///AppModule/DetailsComponent.html@18:108
正如 Eliseo 在评论中所说,您的代码适用于 [ngModel]
,但不适用于 [(ngModel)]
。 [(ngModel)]
只是这个的快捷方式:
<input [ngModel]="valueToModel" (ngModelChange)="valueToModel = $event" >
。在 guide 查看更多信息,其中显示了语句和表达式之间的差异。