去抖你的模型

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