angular - Angular 模板范围变量
问题描述
Angular 中是否有像 ngFor 一样声明变量的功能?
我想减少相同值的调用和计算。对于getFormatString,我也可以使用下面的getValue() 方法。但我想优化性能。
我期待的是:
<ion-item [color]="value < 0 ? 'danger' : 'success'" *ngInit="let value = getValue()">
<h3>Value</h3>
<p item-end>{{ getFormatString(value) }}</p>
</ion-item>
实际上,我每次都必须设置相同的方法才能获得相同的值。我的想法是:获取一次值,并为子元素共享它。与 ngFor 一样,该变量可用于范围内的所有其他元素。
附加:没有创建新指令。也许将值包装在数组中以使用 ngFor?但这很丑陋。...我敢肯定这是可能的。我过去是这样做的。但我不知道怎么了。
解决方案
一个(有点脏)的解决方案是将它包装在一个数组中并使用 ngFor 像:
<ion-item [color]="value < 0 ? 'danger' : 'success'" *ngFor="let value of [getValue()]">
<h3>Value</h3>
<p item-end>{{ getFormatString(value) }}</p>
</ion-item>
推荐阅读
- python - 检查目标时出错:预期 dense_3 有 2 个维度,但得到了形状为 (5, 200, 200, 1) 的数组
- c++ - “relocation truncated to fit: R_X86_64_PC32 against symbol `__imp_Sleep'”的问题
- ssl - 发出 curl 请求时 SSL 证书不起作用 - Sectigo AddTrust External CA Root 已过期
- python - 是否可以并行运行两个 python 脚本并实时绘图?
- javascript - 如何禁用函数中的函数?
- r - 来自 Ryacas 包的 TeXForm 作为 R 降价输出
- sql - Postgresql 函数的返回类型不受支持
- splice - 了解拼接还是不了解它?
- python - cvxpy 问题中没有严格不等式,但仍然出现错误“不允许严格不等式”
- android - Android 低于 api 23 无法连接到服务器