देखें ngOptions
ngOptions (वैकल्पिक) - { comprehension_expression=
} - निम्न में से किसी एक रूप में:
सरणी डेटा स्रोतों के लिए :
label for value in array
select as label for value in array
label group by group for value in array
select as label group by group for value in array track by trackexpr
ऑब्जेक्ट डेटा स्रोतों के लिए:
label for (key , value) in object
select as label for (key , value) in object
label group by group for (key, value) in object
select as label group by group for (key, value) in object
आपके मामले में, यह होना चाहिए
array = [{ "value": 1, "text": "1st" }, { "value": 2, "text": "2nd" }];
<select ng-options="obj.value as obj.text for obj in array"></select>
अपडेट करें
AngularJS पर अपडेट के साथ, अभिव्यक्ति के साथ तत्व की value
विशेषता के लिए वास्तविक मूल्य निर्धारित करना अब संभव है ।select
track by
<select ng-options="obj.text for obj in array track by obj.value">
</select>
इस बदसूरत सामान को कैसे याद रखें
उन सभी लोगों के लिए जो इस सिंटैक्स फॉर्म को याद करने के लिए कठिन समय दे रहे हैं: मैं मानता हूं कि यह सबसे आसान या सुंदर सिंटैक्स नहीं है। यह सिंटैक्स, पायथन की सूची समझ का एक विस्तारित संस्करण है और यह जानना कि मुझे सिंटैक्स को आसानी से याद करने में मदद मिलती है। यह कुछ इस तरह है:
पायथन कोड:
my_list = [x**2 for x in [1, 2, 3, 4, 5]]
> [1, 4, 9, 16, 25]
# Let people to be a list of person instances
my_list2 = [person.name for person in people]
> my_list2 = ['Alice', 'Bob']
यह वास्तव में ऊपर सूचीबद्ध पहले के रूप में एक ही वाक्यविन्यास है। हालाँकि, <select>
हमें आमतौर पर कोड में वास्तविक मूल्य और एक <select>
तत्व में दिखाए गए पाठ (लेबल) के बीच अंतर करने की आवश्यकता होती है ।
जैसे, हमें person.id
कोड की आवश्यकता है, लेकिन हम id
उपयोगकर्ता को दिखाना नहीं चाहते हैं ; हम इसका नाम दिखाना चाहते हैं। इसी तरह, हमें person.name
कोड में कोई दिलचस्पी नहीं है । वहाँ as
सामान लेबल करने के लिए कीवर्ड आता है । तो यह इस तरह हो जाता है:
person.id as person.name for person in people
या, इसके बजाय person.id
हमें person
उदाहरण / संदर्भ की आवश्यकता हो सकती है। निचे देखो:
person as person.name for person in people
जावास्क्रिप्ट ऑब्जेक्ट्स के लिए भी यही तरीका लागू होता है। बस याद रखें कि ऑब्जेक्ट में आइटम (key, value)
जोड़े के साथ deconstructed हैं ।