الزاوي.شبيبة حدد مع نغوبتيونس:تسمية أوبتغروب
-
21-12-2019 - |
سؤال
لقد بدأت للتو للعب مع الزاوي.جس ولديك سؤال حول نغوبتيونس:هل من الممكن تسمية أوبتغروب?
دعونا نفترض 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"," المرآب 2",...أو حتى أفضل عرض اسم المرآب وليس فقط كاراجيد.
ال angularjs.org وثائق لتحديد لا يقول شيئا عن تسميات أوبتغروب ، ولكن أود أن تمديد المجموعة من قبل جزء من نغوبتيونس مثل group by car.garageId as 'Garage ' + car.garageId
أو group by car.garageId as getGarageName(car.garageId)
- الذي للأسف لا يعمل.
بلدي الحل الوحيد حتى الآن هو إضافة خاصية جديدة "كاراج ديسبلاينام" إلى كائنات السيارة وتخزين هناك معرف + اسم المرآب واستخدام ذلك كمجموعة حسب المعلمة.لكنني لا أريد تحديث جميع السيارات كلما تم تغيير اسم المرآب.
هل هناك طريقة لتسمية أوبتجروبس مع نغوبتيونس, أو يجب أن أستخدم نغريبيت في هذه الحالة?
المحلول
يمكنك فقط الاتصال getGarageName()
في ال group by
دون استخدام as
...
ng-options="car.id as car.name + ' (' + car.color + ')' group by getGarageName(car.garageId) for car in cars"
بدلا من تخزين معرف المرآب في كل سيارة ، قد ترغب في النظر في تخزين إشارة إلى كائن المرآب في صفيف المرائب.بهذه الطريقة يمكنك تغيير اسم المرآب وليس هناك حاجة لتغيير كل سيارة.و ال group by
يصبح ببساطة...
group by car.garage.name