Angular 2 不纯管道 vs 指令性能

标签 angular angular2-directives ngx-translate

我正在查看ngx-translates提供翻译输入的两种方式。

  1. 作为管道 {{'messageId' | translate}}
  2. OR 作为指令 <span [translate]="'messageId'">

该管道是一个不纯的管道,可以处理翻译和任何异步文本加载。我认为这种方法的缺点是每次摘要周期运行时都会触发 this 。

另一种方法是使用该指令。在这种情况下,我们可以使用事件或可观察对象来控制方法何时被触发。这种方法可以减少不必要的更新。

但是由于指令操作 DOM,我的问题是指令方法会使整体速度变慢吗?另外,有没有一种方法可以衡量一个方法相对于另一个方法的性能?

最佳答案

Angular 中的插值是属性绑定(bind)上的语法糖。正如文档中所解释的,这两个是相同的

<p><span>"{{title}}" is the <i>interpolated</i> title.</span></p>
<p>"<span [innerHTML]="title"></span>" is the <i>property bound</i> title.</p>

因此,如果您看到属性绑定(bind)的好处,那就去吧。

关于Angular 2 不纯管道 vs 指令性能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42899129/

相关文章:

angular - 如何使用 TypeScript 将多个参数传递给 Angular 中的 @Directives (@Components)?

Angular 结构指令 : wrap the host element with some another component

angular - 由于错误 : Error: Module build failed: Error: ENOENT: no such file or directory, 打开,预呈现失败

javascript - Anuglar2 - 错误找不到模块

node.js - 我如何使用平均堆栈中的复选框更新我的待办事项状态,如果选中复选框,则将 true 放入 mongodb 数据库中,否则为 false

Angular2 - 只允许在输入中输入字母字符

javascript - 控制 Angular 2 中指令评估的顺序

angular - 从 Angular 2 组件中访问 `selector`

ngx-translate - 在 Angular 5 应用程序中使用 ngx-translate 和 ng2-select

javascript - 与 swiper 结合使用时奇怪的 ngx-translate 行为