在输入中使用ng-change而不是ng-model是否有任何性能改进?
我认为当在输入中使用ng-model时,在变量中使用角度来表示“$ watch”(或类似),这会增加工作量。
但是如果使用ng-change,那么变量(模型)可以在需要时更新,只有当输入改变了这个变量时才能执行代码。
这假设只有一个输入可以改变变量。
示例如下:
<input type="text" ng-model="ElTexto">
<div ng-show="ElTexto"></div>
HTML
<input type="text" ng-change="elTexto()">
<div ng-show="ElTexto"></div>
JS
$scope.elTexto(){
$scope.ElTexto = true;
}
答案 0 :(得分:7)
ng-change
requires ng-model
,所以你不能在两者之间做出选择。您必须使用ng-model
,如果愿意,还可以使用ng-change
。
请注意,这两者非常不同。 ng-model
将保持您的输入值和支持模型完美同步; ng-change
将指示用户正在与输入进行交互。如果您关心他们正在改变的价值,就像您正在进行自动完成一样,只需使用ng-model
并让所有代码共享相同的变量即可。如果您特别想在输入更改时执行操作,无论值是什么,那么您可以使用ng-change
。
答案 1 :(得分:0)
ng-change
将具有击球手表现ng-model
。正如在每个摘要周期中一样,ng-model
将被评估,而ng-change
将根据输入的变化进行评估。