去抖你的模型

<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,也可以更新模糊。