繁体   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