如何使用最新的$ resource填充Angular UI Bootstrap Typeahead

vuc*_*lur 6 angularjs angular-ui q angular-ui-bootstrap angular-ui-typeahead

根据帕维尔·科兹洛夫斯基的回答,从事先键入的内容AngularUI,引导应该异步时获得与最新版本的角度(我使用1.2.X)$资源弹出的项目工作.

Plunk - Paweł的版本 - Typeahead与$ http

我想我不知道如何正确使用它(因此我在typeaheadHighlight指令的代码中得到一个错误- typeahead将即时返回的Resources作为字符串和轮胎来突出显示它们).

Plunk - 使用$ resource预先输入

我认为关键代码是:

$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;
};
Run Code Online (Sandbox Code Playgroud)

我试着一堆东西-返回$promise(从Plunker版)query(),then().
目前,我正在$http我的应用程序中使用此功能,我很好.不过,只是想知道如何实现同样的目标$resource.

您可能想看看这个:https://github.com/angular/angular.js/commit/05772e15fbecfdc63d4977e2e8839d8b95d6a92d
是否ui.bootstrap.typeahead与$ resource的promise API中的更改兼容?

And*_*ank 7

应该:

$scope.cities = function(prefix) {
    return dataProviderService.lookup({q: prefix}).$promise.then(
      function(response){
        // might want to store them somewhere to process after selection..
        // $scope.cities = response.data;
        return response.data;
    });
};
Run Code Online (Sandbox Code Playgroud)

这是基于上面提到的角度提交,它在Angular 1.2.13上对我有用