Angular中是否有一个功能可以像ngFor一样声明一个变量?
我想减少相同值的调用和计算。 我也可以在下面将getValue()方法用于getFormatString。 但是我想优化性能。
我期望像这样:
<ion-item [color]="value < 0 ? 'danger' : 'success'" *ngInit="let value = getValue()">
<h3>Value</h3>
<p item-end>{{ getFormatString(value) }}</p>
</ion-item>
实际上,我必须设置相同的方法来每次获得相同的值。 我的想法是:一次获取值,并将其共享给子元素。 与ngFor一样,该变量可用于范围中的所有其他元素。
其他:不创建新指令。 也许将值包装在数组中以使用ngFor?但这是丑陋的。 ...我相信这是可能的。我过去曾这样做。但是我不知道了。
答案 0 :(得分:0)
一种(有点脏)的解决方案是将其包装在数组中,并使用ngFor like:
<ion-item [color]="value < 0 ? 'danger' : 'success'" *ngFor="let value of [getValue()]">
<h3>Value</h3>
<p item-end>{{ getFormatString(value) }}</p>
</ion-item>
答案 1 :(得分:0)
*ngFor="let value of values;"
{{value | formatString}}
使用自定义过滤器转换值。