में वर्णानुक्रम में छंटनी ड्रॉपडाउन मैं एनजी-विकल्पों के उपयोग के माध्यम से एक ड्रॉपडाउन पॉप्युलेट कर रहा हूं जो एक नियंत्रक से जुड़ा हुआ है जो बदले में एक सेवा को कॉल कर रहा है। दुर्भाग्य से आने वाला डेटा एक गड़बड़ है और मुझे इसे वर्णानुक्रम में क्रमबद्ध करने में सक्षम होना चाहिए।AngularJS
आपको लगता है कि $.sortBy
जैसे कुछ ऐसा करेंगे लेकिन दुर्भाग्यवश यह जैक नहीं करता था। मुझे पता है कि मैं इसे जावास्क्रिप्ट के माध्यम से एक सहायक विधि function asc(a,b)
या उस तरह कुछ के साथ सॉर्ट कर सकता हूं लेकिन मैं यह मानने से इनकार करता हूं कि ऐसा करने का क्लीनर तरीका नहीं है, मैं नियंत्रक को सहायक तरीके से ब्लॉउट नहीं करना चाहता हूं। यह सिद्धांत रूप में इतना बुनियादी है इसलिए मुझे समझ में नहीं आता क्यों एंगुलरजेएस में यह नहीं है।
क्या $orderBy('asc')
जैसे कुछ करने का कोई तरीका है?
उदाहरण:
<select ng-option="items in item.$orderBy('asc')"></select>
यह orderBy
में विकल्प तो तुम जो चाहो कर सकते हैं के लिए अत्यंत उपयोगी हो सकता है, जब भी आप आमतौर पर डेटा को सॉर्ट करने का प्रयास करें।
<select ng-model="selected" ng-options="f.name for f in friends | orderBy:'name'"></select>
एक उदाहरण के लिए this fiddle देखें:
की तरह कर सकते हैं खोज रहे हैं पहेली में (या एंगुलर टोडो ट्यूटोरियल में एक प्रकार का चयन टैग जोड़ना), 'चयनित' के रूप में दिखाने का विकल्प प्राप्त करना - या यहां तक कि दिखाने का पहला विकल्प भी प्राप्त करना - एक मुद्दा है। कोणीय के साथ यह खाली है? –
@DaveEveritt डिफ़ॉल्ट सेट करने के लिए एक तरीका है (और रिक्त आइटम को निकालने के लिए) 'चयनित' के लिए बाध्य आइटम को पूर्व-चयन करना है। इस उदाहरण के लिए आप '$ scope.selected = $ scope.friends [0]' जैसे कुछ कर सकते हैं। एक कामकाजी नमूने के लिए [यह पहेली] (http://jsfiddle.net/aBccw/142/) देखें। – Gloopy
मेरे लिए काम नहीं करता है, लेकिन यह हाँ: http://stackoverflow.com/a/18261445/2178340 – Gerson