Angular 2. 什么渲染速度更快:[ngClass] 或 class="{{}}"?

qiA*_*lex 2 javascript angular2-template angular

什么会渲染得更快?

  <div class="ololo" [ngClass]="{'my-class': myVar}">one</div>
Run Code Online (Sandbox Code Playgroud)

或者

  <div class="ololo {{myVar ? 'my-class': ''}}">another</div>
Run Code Online (Sandbox Code Playgroud)

或其他方式?

qiA*_*lex 5

我做了一些研究,可以肯定地说这种方法

<div class="ololo" [ngClass]="{'my-class': myVar}">one</div>
Run Code Online (Sandbox Code Playgroud)

工作速度比它3 倍

<div class="ololo {{myVar ? 'my-class': ''}}">another</div>
Run Code Online (Sandbox Code Playgroud)

请看演示

https://stackblitz.com/edit/angular-fvtzck

  • 它一定更慢,[ngClass]利用角度数据绑定并且本质上是动态的,类被编译为html并且只是使用原始js运行代码。好奇心更多的是为什么它这么慢。 (2认同)