[英]angular-ui bootstrap typeahead with promise and orderBy
我正在嘗試將typeahead指令與Angular-ui引導程序一起使用,如下所述: http : //angular-ui.github.io/bootstrap/#/typeahead
我的最終目標是進行$ http調用以返回對象數組。 我的工作正常,但是我無法使orderBy或limitTo過濾器正常工作。
我在以下使用Promise復制了類似的結果: http : //plnkr.co/edit/AFPjWArALkZU5ImzgobG?p=preview
兩種結果都應按狀態名稱降序排序,但實際上只有對象填充的結果才這樣做。
我的問題是我是否缺少某些東西,或者這是否是已知限制? 有什么解決方法嗎? 我知道我可以在諾言之后使用“ then”在控制器中進行排序,但這似乎有些笨拙。
您編寫它的方式是使過濾器作用在promise本身上,而不是作用在promise的結果上。 在這種情況下,正確的方法是使用JavaScript進行實際過濾,如下所示:
$scope.getStates = function(val) {
return $timeout(function(){
return orderByFilter(filterFilter($scope.statesWithFlags, val), 'name', true);
}, 500)
};
附帶說明: $timeout
服務API已經基於承諾,因此無需顯式使用$q
。
這是一個小問題: http ://plnkr.co/edit/w5rhFKgYKNOQ6FFVNoUY? p= preview
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.