去抖你的模型
<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,也可以更新模糊。