6

के साथ कोणीय यूआई बूटस्ट्रैप टाइपहेड को कैसे पॉप्युलेट करें this Paweł Kozłowski के उत्तर के अनुसार, AngularUI- बूटस्ट्रैप से टाइपहेड काम करना चाहिए जब नवीनतम कोणीय संस्करणों (मैं 1.2.X का उपयोग कर रहा हूं) में $ संसाधन के साथ असीमित रूप से पॉपअप आइटम प्राप्त कर रहा हूं।

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

मुझे लगता है मैं कैसे ठीक इसका इस्तेमाल करने की पता नहीं है (- Typeahead व्यवहार करता है उन्हें तुरंत उजागर करने के लिए तार और टायर के रूप में Resource रों लौटे नतीजतन मैं typeaheadHighlight निर्देश के कोड में कोई त्रुटि मिलती है)।

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(), then()
वर्तमान में, मैं अपने ऐप में इस कार्यक्षमता के लिए $http का उपयोग कर रहा हूं और मैं इसके साथ ठीक हूं। फिर भी, सिर्फ यह जानना चाहता था कि $resource के साथ इसे कैसे प्राप्त किया जाए। https://github.com/angular/angular.js/commit/05772e15fbecfdc63d4977e2e8839d8b95d6a92d
ui.bootstrap.typeahead $ संसाधन का वादा एपीआई में उन परिवर्तनों के साथ संगत है:

आप इस पर एक नज़र लेने के लिए चाहते हो सकता है?

उत्तर

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

इस के ऊपर कोणीय उल्लेख प्रतिबद्ध आधारित है, और यह @ एंड्रयू-दुबला से जवाब देने के लिए पर कोणीय 1.2.13

+1

जैसा कि मैंने कहा मैं पहले से ही करने की कोशिश की है कि :) वहाँ तुम जाओ: http://plnkr.co/edit/lr7unp6b0XclWGTzgCyh। अद्यतन पुस्तकालय, अभी भी काम नहीं कर रहे हैं। यदि आपको यह सही लगता है, तो कार्यरत प्लंक – vucalur

+1

प्रदान करें यह 'अपरिभाषित' त्रुटि – Shardul

4

धन्यवाद मेरे लिए काम किया, मैंने किया था $ संसाधन के साथ भी मेरा। हालांकि मेरी प्रतिक्रिया में मेरे पास डेटा विशेषता नहीं थी। मैंने $ संसाधन पर क्वेरी विधि का उपयोग किया, जो सरणी की प्रतिक्रिया प्रकार की अपेक्षा करता है, इसलिए शायद कोई डेटा विशेषता नहीं है। यह संसाधन वस्तुओं की एक सरणी है, जिनमें से प्रत्येक डेटा शामिल है। तो मेरी कोड थोड़ा सरल है, और अधिक इस तरह दिखता है:

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

की संपत्ति 'लंबाई' नहीं पढ़ रहा है, शायद यह फरवरी 14 में वापस काम कर सकता है, लेकिन यह कोणीय के वर्तमान संस्करणों के साथ काम नहीं करता है – JustMaier

1

मैं इस एक ही समस्या में पड़ गए और यह मेरे दीवार के खिलाफ मेरे सिर पीटने था। समस्या डेटा सेवा के साथ है क्योंकि यह JSON ऑब्जेक्ट में उन्हें लपेटने के बजाय तारों की सरणी लौटा रही है। $ संसाधन स्ट्रिंग की सरणी के साथ काम नहीं करेगा।

अतिरिक्त जानकारी के लिए

, इस जवाब की जाँच: One dimensional array of strings being parsed to 2d by angular resource

1

Typeahead = "employeeInfo में मैं के लिए i.t_UserName | फिल्टर: $ viewValue | limitTo: 4"
अपने html इनपुट

की विशेषता के रूप में चला जाता है

और अपने नियंत्रक में (कर्मचारी संसाधन का उपयोग करके)

$ scope.employeeInfo = getEmployeeResourceSvc.getEmplInfo.query (समारोह (प्रतिक्रिया) { $ scope.employeeInfo = प्रतिक्रिया; });

1

यूई-बूटस्ट्रैप 13.0 और कोणीय 1 में।3, अब आपको निम्न कर सकते हैं:

$scope.cities = function (q) { 
    return $scope.resource.query({ q: prefix }).$promise 
} 
संबंधित मुद्दे