2016-05-18 48 views
0

我有一個小型的網絡應用程序,接受來自人類的input來創建搜索參數。我使用ng-model-options來消除ng-change函數以執行搜索。DRY up ng-model

我有小旁邊的箭頭,可讓用戶排序表中的列名(有三個圖標 - up-downupdown爲sort_field並顯示使用ng-class SORT_ORDER);我想在這些上註冊一個更改,並在使用去抖動的一小段延遲後執行搜索。問題是我不確定如何使用ng-model將特定參數綁定到這些圖標。我不希望有人在排序圖標上敲擊並使服務器或瀏覽器崩潰。

我寧願做的事情是在網頁上有一個地方說要觀看search_param對象,並在每當它發生變化後500毫秒內開始搜索。通過這種方式,任何輸入字段或排序選擇都會在用戶完成編輯時調用,這會觸發函數將這些參數發送到端點。

AngularJS的策略是什麼?現在,所有輸入字段綁定search_param對象中的一個字段並使ng-model-options消除變更。這是很多重複的代碼。

+0

你使用'NG-change'到處都是一樣的功能?在這種情況下,您可以使用'$ timeout',並且如果隊列中沒有任何搜索,您可以使用'$ timeout'啓動一個。如果存在,只需取消'$ timeout'並開始一個新的。 –

回答

0

我最近回答了一些人關於表格的內容,以及您爲了獲得非常基本的功能(排序,搜索,分頁)而必須付出的努力和工作量。

,如果有一個非常偉大的圖書館供你使用爲什麼要重新發明輪子:我在這裏發表完整的解決方案供您使用從JSON源提取數據 角的DataTable

Ng-repeat trying to create a counter index

在你的情況,你會需要通過對DataTable的網站的服務器端處理文檔去正確地格式化數據:https://datatables.net/manual/server-side