每次在 Angular 中发生变化检测时,是否使用指令中的 transloco 't' 函数来调用该函数?

问题描述 投票:0回答:1

我想知道关于 transloco 在其指令中使用的“t”函数的问题。

当我们在 Angular 模板中使用函数时,比如说,显示用户电子邮件。所以我们写这样的东西:

<div>
  {{getUserEmail()}}
</div>

根据我对角度的了解,除非您采用 OnPush 检测策略,否则每次更改检测都会调用此函数。这就是为什么建议尽可能使用管道,因为它们不会出现此问题。

所以我的问题是,transloco 的 't' 函数是否每次都能避免这个调用?还是我误解了 transloco/Angular?

附注我知道该函数已被记忆,但如果不调用每个更改检测,它仍然会更好。

我正在考虑使用 transloco 管道,主要是因为在我看来,在应用程序中拥有更多订阅比多次调用“t”函数更好。也许我的认知是错误的?

angular angular-changedetection transloco
1个回答
0
投票

根据 transloco 文档,使用结构指令和

t()
函数甚至是推荐的方法:

https://jsverse.github.io/transloco/docs/translation-in-the-template#structural-directive

使用结构指令是推荐的方法。它干燥且高效,因为它为每个模板创建一个订阅。

请注意,t 函数已被记忆。这意味着给定相同的密钥,它将直接从缓存返回结果。

© www.soinside.com 2019 - 2024. All rights reserved.