根据这个Paweł Kozłowski 的回答,AngularUI-Bootstrap 的 Typeahead 在使用最新 Angular 版本(我使用的是 1.2.X)异步获取带有 $resource 的弹出项目时应该可以工作。
Plunk - Paweł 的版本 - Typeahead with $http
我想我不知道如何正确使用它(结果我在typeaheadHighlight
指令的代码中收到错误 - typeahead 将立即返回Resource
的 s 视为字符串和轮胎以突出显示它们)。
我认为关键代码是:
$scope.cities = function(prefix) {
var p = dataProviderService.lookup({q: prefix}).$promise;
return p.then(function(response){
$log.info('Got it!');
return response.data;
});
return p;
};
我已经尝试了很多东西 - 返回$promise
(来自 Plunker 的版本)query()
,,,then()
。
目前,我$http
在我的应用程序中使用了这个功能,我没问题。不过,只是想知道如何使用$resource
.
您可能想看看这个:https
://github.com/angular/angular.js/commit/05772e15fbecfdc63d4977e2e8839d8b95d6a92d
是否ui.bootstrap.typeahead
与 $resource 的 promise API 中的这些更改兼容?