去抖你的模型
<div ng-controller="ExampleController">
<form name="userForm">
Name:
<input type="text" name="userName"
ng-model="user.name"
ng-model-options="{ debounce: 1000 }" />
<button ng-click="userForm.userName.$rollbackViewValue(); user.name=''">Clear</button><br />
</form>
<pre>user.name = </pre>
</div>
上面的例子我们设置了一个 1000 毫秒的去抖值,即 1 秒。这是一个相当大的延迟,但会阻止输入反复颠覆 ng-model
与许多 $digest
周期。
通过在输入字段和其他不需要即时更新的地方使用去抖动,可以大大提高 Angular 应用程序的性能。你不仅可以延迟时间,还可以在触发操作时延迟。如果你不想在每次击键时更新 ng-model,也可以更新模糊。