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