2015-09-16 42 views
0

我目前使用ng-model-options="{ updateOn: 'default blur', debounce: { default: 500, blur: 0 } }"爲了避免在用戶填寫輸入時向我的用戶顯示錯誤。但是,我發現這樣做令人震驚,即使錯誤已被糾正,這也會使錯誤一旦出現就停留更長時間。如何根據ngModel的有效性使用不同的ngModelOptions

我想知道是否有一些基於ngModel的有效性動態更改ngModelOptions(非哈希)的方式,以便如果該模型有效,它將只驗證模糊上的更改,而如果它無效,它將立即驗證。最終的結果是,錯誤儘可能快地消失,而在絕對必要之前它們不再出現。

+0

您可以使用觀察器($ scope。$ watch)來實現,使用$ timeout應用watch方法中的去抖動(http://stackoverflow.com/questions/20397253/implement-a-delay-對範圍的手錶)。這樣,只有在需要的時候纔可以應用去抖效果 –

+0

請參閱[「應該在其標題中包含」標籤「問題嗎?」](http://meta.stackexchange.com/questions/19190/should-questions-include-tags在他們的標題),共識是「不,他們不應該」! –

回答

0

我在想同樣的事,我能想到的唯一方法是: 設置默認的去抖動爲0,然後觀察字段是否無效/有效。 該表內:顯示錯誤,如果字段無效與$超時

  • 但立即刪除錯誤一旦字段有效

    • 延遲(也別忘刪除$超時)。
  • 相關問題