簡體   English   中英

使用promise和ordera預先輸入angular-ui引導程序

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM