提问人:Myles Morrone 提问时间:8/2/2023 更新时间:8/2/2023 访问量:638
Angular Signals 在模板中使用安全吗?
Are Angular Signals safe for use in the template?
问:
众所周知,你永远不应该在 Angular 模板表达式中使用函数调用,但使用信号的规则是什么?
Variable call -- OK
<div>{{person.name}}</div>
Function call -- NOT OK
<div>{{getTotal([1,2,3])}}</div>
Signal call -- MAYBE OK??
<div>{{getComputedTotal()}}</div>
从技术上讲,两者都在调用一个方法,但调用一个信号会返回一个静态变量,但也不是真的吗?信号的处理方式是否使得直接在模板中调用信号被认为是可以的?
我在模板中大量使用信号,但没有注意到性能有任何下降,只是不确定关于它们的最佳实践是什么。
答:
2赞
Matthieu Riegler
8/2/2023
#1
模板中的调用方法被视为反模式,因为这可能会隐藏一些代价高昂的调用。
在某些情况下,具有功能可能是有意义的。这是一篇关于此的文章。
话虽如此,在模板中调用信号之前,信号没有任何值。甚至还有一个 PR 来提供信号未执行时的模板诊断。
所以是的,打电话给他们,我们就是为此而生的!
评论