角度ng变化与ng模型性能

jpe*_*lli 1 javascript performance angularjs

在输入中使用ng-change而不是ng-model是否有任何性能改进?

我推测,当在输入中使用ng-model时,在变量中使用角度来表示"$ watch"(或类似),这会增加工作量.

但是如果使用ng-change,那么变量(模型)可以在需要时更新,只有当输入改变了这个变量时才能执行代码.

这可以假设只有一个输入可以更改变量.

示例如下:

使用ng-model

<input type="text" ng-model="ElTexto">
<div ng-show="ElTexto"></div>
Run Code Online (Sandbox Code Playgroud)

使用ng-change

HTML

<input type="text" ng-change="elTexto()">
<div ng-show="ElTexto"></div>
Run Code Online (Sandbox Code Playgroud)

JS

$scope.elTexto(){
  $scope.ElTexto = true;
}
Run Code Online (Sandbox Code Playgroud)

Hyl*_*all 8

ng-change 要求 ng-model,所以你不能在两者之间做出选择.你必须使用ng-model,ng-change如果你愿意也可以使用.

请注意,这两者非常不同. ng-model将保持您的输入值和支持模型完美同步; ng-change将指示用户正在与输入交互.如果你关心他们正在改变的价值,就像你正在做自动完成一样,只需使用ng-model并让所有代码共享同一个变量.如果您特别想在输入更改时执行操作,无论值是什么,那么您可以使用ng-change它.

  • 因此,就性能而言,由于ng模型的要求,我无法获胜或失去任何东西.如果可以的话,我会问我的问题.谢谢! (2认同)