如何将三元运算符的结果字符串放入 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 查看更多信息,其中显示了语句和表达式之间的差异。