6

this Paweł Kozłowski'nin yanıtına göre, AngularUI-Bootstrap gelen Typeahead, en yeni Angular sürümlerinde (1.2.X kullanıyorum) $ resource ile açılır pencereleri eşzamansız olarak alırken çalışmalıdır. Ben düzgün nasıl kullanılacağını bilmiyorum sanırım

Plunk - Paweł's version - Typeahead with $http

(- typeahead davranır anında vurgulamak için dizeleri ve lastikler gibi Resource s döndü Sonuç olarak ben typeaheadHighlight yönerge kod bir hata olsun).

Plunk - Typeahead with $resource

Ben kritik kod olduğunu düşünüyorum: Ben şeyler demet denedim

$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 dan sürümünü), query(), then() dönüyor.
Şu anda uygulamanızda bu işlev için $http kullanıyorum ve buna katılıyorum. Yine de, sadece $resource ile nasıl başaracağınızı bilmek istedim. https://github.com/angular/angular.js/commit/05772e15fbecfdc63d4977e2e8839d8b95d6a92d
$ kaynağın söz API bu değişiklikleri uyumlu ui.bootstrap.typeahead şudur: Bu bir göz atmak isteyebilirsiniz

?

cevap

7

olmalı:

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

Bu açısal yukarıda belirtilen tamamlama temel alır ve bu @ andrew-Lank gelen cevaba Açısal 1.2.13

+1

Ben zaten işte böyle :) denedim söylediği gibi. Güncellenmiş kütüphaneler, hala çalışmıyor. Eğer doğru var, çalışma plunk – vucalur

+1

sağlayın '' undefined 'hata' özelliği 'okunabilir' hatası veriyor – Shardul

4

teşekkür üzerinde benim için çalıştı, ben yaptım Benim de $ kaynak ile benim. Cevabımda bir veri özelliği yoktu. Sorgu yöntemini $ resource üzerinde kullandım, bu yüzden bir dizi yanıt dizisini beklemekteyim, bu yüzden veri özniteliği yoktur. Her biri verileri içeren bir Kaynak nesnesi dizisidir. Yani benim kod biraz daha basittir, daha şuna benzer:

$scope.cities = function(prefix) { 
    return dataProviderService.query({q: prefix}).$promise.then(
     function(response){ 
     return response; 
    }); 
}; 
+3

Bu belki Şubat '14 çalışmış olabilir, ancak açısal sürümleri ile çalışmaz – JustMaier

1

typeahead = "employeeInfo for i in i.t_UserName | filtresi: $ viewValue | LimitTo: 4"
Html girişi

bir özelliği olarak gider (çalışan kaynağını kullanarak)

ve denetleyicisi

$ scope.employeeInfo = getEmployeeResourceSvc.getEmplInfo.query (fonksiyonu (yanıt) { $ scope.employeeInfo = tepkisi; });

1

Ui önyükleme sisteminde 13.0 ve açısal 1.3, şimdi aşağıdakileri yapabilirsiniz: http://plnkr.co/edit/lr7unp6b0XclWGTzgCyh:

$scope.cities = function (q) { 
    return $scope.resource.query({ q: prefix }).$promise 
}