在完成输入之前,如何延迟更改模型?

时间:2016-10-12 08:04:10

标签: angularjs

我有这个字段:

 <input ng-model="phs.englishRange"
                   style="width:6rem;"
                   type="text" />

单词用于过滤器,因此当我对其进行任何更改时,过滤器会在进行更改时更改。有没有办法可以在我停止输入后1秒钟将其延迟到模型更改?

1 个答案:

答案 0 :(得分:5)

对于您的用例,在最后一个字符输入后触发模型更新1s(每次都会重置模型更新计时器):

ng-model-options="{ updateOn: 'default', debounce: {'default': 1000} }"

更多选项 - 更新模糊:

ng-model-options="{ updateOn: 'blur' }"  

选项是&#34;默认&#34; (当你输入时)和/或&#34;模糊&#34; (当你离开输入时)。

您还可以在模型选项中使用debounce来控制发布模型更新的速度。

debounce: { 'default': 500, 'blur': 0 }