लेबल करें मैंने अभी Angular.js के साथ खेलना शुरू किया है और ngOptions के बारे में कोई प्रश्न है: क्या यह विकल्प समूह को लेबल करना संभव है?Angular.js ngOptions के साथ चयन करें: optgroup
आइए 2 ऑब्जेक्ट्स - कारें और गैरेज मानें।
cars = [
{"id": 1, "name": "Diablo", "color": "red", "garageId": 1},
{"id": 2, "name": "Countach", "color": "white", "garageId": 1},
{"id": 3, "name": "Clio", "color": "silver", "garageId": 2},
...
]
garages = [
{"id": 1, "name": "Super Garage Deluxe"},
{"id": 2, "name": "Toms Eastside"},
...
]
इस कोड के साथ
मैं लगभग परिणाम मिला मैं चाहता हूँ:
ng-options = "car.id as car.name + ' (' + car.color + ')' group by car.garageId for car in cars"
परिणाम का चयन में:
-----------------
1
Diablo (red)
Countach (white)
Firebird (red)
2
Clio (silver)
Golf (black)
3
Hummer (silver)
-----------------
लेकिन मैं की तरह "गैराज 1" optgroups लेबल करना चाहते, "गेराज 2", ... या गेराज का नाम भी बेहतर प्रदर्शन करता है न केवल गैराज आईडी।
angularjs.org documentation for select optgroup के लिए लेबल के बारे में कुछ भी नहीं कहना है, लेकिन मैं की तरह group by car.garageId as 'Garage ' + car.garageId
या group by car.garageId as getGarageName(car.garageId)
ngOptions का हिस्सा द्वारा समूह विस्तार करना चाहते हैं - जो दुर्भाग्य से काम नहीं कर रहा।
मेरा एकमात्र समाधान अब तक कार वस्तुओं के लिए एक नई संपत्ति "गेराज डिस्प्लेनाम" जोड़ना है और वहां आईडी + गेराज नाम स्टोर करना है और पैरामीटर द्वारा समूह के रूप में उपयोग करना है। लेकिन जब भी गेराज नाम बदल जाता है तो मैं सभी कारों को अपडेट नहीं करना चाहता हूं।
क्या ngOptions के साथ optgroups को लेबल करने का कोई तरीका है, या क्या मुझे उस मामले में ngRepeat का उपयोग करना चाहिए? प्रत्येक कार में गेराज आईडी भंडारण की
धन्यवाद एक बहुत! मैं हमेशा उस अभिव्यक्ति को लिखने के बजाय 'as' भाग' के साथ कोशिश करता हूं जिसे मैं प्रदर्शित करना चाहता हूं। :) तो 'गैरेज' + car.garageId' द्वारा समूह करना भी संभव है। –
और जैसा कि आपने सुझाव दिया था कि मैंने गैरेज के संदर्भ को आईडी के बजाय स्टोर करने के लिए माना और इस के साथ समाप्त किया: 'car.garage.name +' - 'car.garage.id' _' (गैराज नाम अद्वितीय नहीं है) _ जो वास्तव में आसान है। –