我正在研究提供翻译输入的ngx-translates
两种方式。
- 要么作为管道
{{'messageId' | translate}}
- 或作为指令
<span [translate]="'messageId'">
管道是一个不纯管道,可以处理翻译和文本的任何异步加载。我看到的这种方法的缺点是每次摘要周期运行时都会触发此操作。
另一种方法是使用该指令。在这种情况下,我们可以通过使用事件或可观察量来控制何时触发方法。此方法将减少不必要的更新。
但是由于指令操纵了 DOM,我的问题是指令方法会使整体速度变慢吗?另外,有没有办法衡量一个优于另一个的表现?
Angular 中的插值是属性绑定上的语法糖。如文档中所述,这两者是相同的
<p><span>"{{title}}" is the <i>interpolated</i> title.</span></p>
<p>"<span [innerHTML]="title"></span>" is the <i>property bound</i> title.</p>
因此,如果您看到属性绑定的好处,那就去做吧。