Angular 如何从模板中声明变量?

Angular 如何从模板中声明变量?,angular,Angular,我发现自己编写的代码如下: <div *ngIf="globals.fieldErrors[item.jsonParent][item.jsonName].locationADiff != null"> <span [ngStyle]="globals.fieldErrors[item.jsonParent][item.jsonName].locationADiff.street1Style" *ngIf="globals.fieldErrors[item.jsonPa

我发现自己编写的代码如下:

<div *ngIf="globals.fieldErrors[item.jsonParent][item.jsonName].locationADiff != null">
    <span [ngStyle]="globals.fieldErrors[item.jsonParent][item.jsonName].locationADiff.street1Style" *ngIf="globals.fieldErrors[item.jsonParent][item.jsonName].locationADiff.street1.length > 0">{{globals.fieldErrors[item.jsonParent][item.jsonName].locationADiff.street1}}<br /></span>
    <span *ngIf="globals.fieldErrors[item.jsonParent][item.jsonName].locationADiff.street2.length > 0">{{globals.fieldErrors[item.jsonParent][item.jsonName].locationADiff.street2}}<br /></span>
    <span *ngIf="globals.fieldErrors[item.jsonParent][item.jsonName].locationADiff.city.length > 0">{{globals.fieldErrors[item.jsonParent][item.jsonName].locationADiff.city}},</span>
    <span *ngIf="globals.fieldErrors[item.jsonParent][item.jsonName].locationADiff.state.length > 0">{{globals.fieldErrors[item.jsonParent][item.jsonName].locationADiff.state}},</span>
    <span *ngIf="globals.fieldErrors[item.jsonParent][item.jsonName].locationADiff.zip.length > 0">,{{globals.fieldErrors[item.jsonParent][item.jsonName].locationADiff.zip}}</span>
</div>

{{globals.fieldErrors[item.jsonParent][item.jsonName].locationADiff.street1}
{{globals.fieldErrors[item.jsonParent][item.jsonName].locationADiff.street2}
{{globals.fieldErrors[item.jsonParent][item.jsonName].locationADiff.city}, {{globals.fieldErrors[item.jsonParent][item.jsonName].locationADiff.state}, ,{{globals.fieldErrors[item.jsonParent][item.jsonName].locationADiff.zip}

有没有办法简化这一点?我想设置一个变量,例如“myVar”等于“globals.fieldErrors[item.jsonparent][item.jsonName]”,以减少冗长性。

您可以像这样使用它:

<div *ngIf="{ a: 1, b: 2 }; let variable">
  <span>{{variable.a}}</span>
  <span>{{variable.b}}</span>
</div>

{{variable.a}}
{{variable.b}}
有关更多详细信息,请阅读:

对你的评论的答复是:


很好,谢谢。它可以工作,但意味着我需要一个单独的 *ngIf要测试位置ADIFF!=无效的然后是另一个创建变量的内部变量。有没有办法把两者结合起来 将测试和变量创建为单个*ngIf


{{variable.a}}
{{variable.b}}

怎么样?很好,谢谢。它可以工作,但意味着我需要一个单独的带有自己的*ngIf的设备来测试locationADiff!=无效的然后是另一个创建变量的内部变量。有没有办法将测试和变量创建结合到一个*ngIf中?
<div *ngIf="checkCondition && { a: 1, b: 2 }; let variable">
  <span>{{variable.a}}</span>
  <span>{{variable.b}}</span>
</div>