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

根据 thisPawełKozłowski的回答,来自AngularUI-Bootstrap的Typeahead应该可以在最新的Angular版本中使用$resource异步获取弹出项目时使用(我使用的是1.2.X).

Plunk – Paweł’s version – Typeahead with $http

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

Plunk – Typeahead with $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;
};

我尝试过很多东西 – 返回$promise(来自Plunker的版本),query(),然后().
目前,我在我的应用程序中使用$http来实现此功能,我很满意.不过,只是想知道如何用$resource实现同样的目标.

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

应该:
$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;
    });
};

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

相关文章

ANGULAR.JS:NG-SELECTANDNG-OPTIONSPS:其实看英文文档比看中...
AngularJS中使用Chart.js制折线图与饼图实例  Chart.js 是...
IE浏览器兼容性后续前言 继续尝试解决IE浏览器兼容性问题,...
Angular实现下拉菜单多选写这篇文章时,引用文章地址如下:h...
在AngularJS应用中集成科大讯飞语音输入功能前言 根据项目...
Angular数据更新不及时问题探讨前言 在修复控制角标正确变...