Я был замечен, что этот вопрос по-разному ответил на другие сообщения, но цели казались разными, рядом с некоторыми решениями я все еще не понимаю. Мне нужно показать только один элемент, как только вы нажмете на его заголовок. Например:AngularJS - Как получить один элемент из вложенного массива?
JSON файла:
[
{
"section": "Certifications",
"courses": [
{
"title": "Certificate 1",
"code": "SIT10213",
"requisite": false,
"cost": "110",
"duration": "5h"
},{
"title": "Certificate 2",
"code": "YYX",
"requisite": "Course X",
"cost": "150",
"duration": "172 hours"
},{
"title": "Certificate 3",
"code": "XXY",
"requisite": "Course Y",
"cost": "210",
"duration": "1 day"
}
]
},{
"section": "Qualifications",
"courses": [
{
"title": "Bar Operations",
"code": "SXW",
"requisite": false,
"cost": "120",
"duration": "97–107 hours in total"
},
{
"title": "RSA",
"code": "YZX",
"requisite": false,
"cost": "100",
"duration": "97–107 hours in total"
}
]
}
]
В HTML, что я пытаюсь сделать, это:
- приложение перечисляет ссылки для каждого из разделов/категорий;
- «Показать все» необходимо просто перечислить их все
(я еще не работал над этим) - Вы щелкаете по разделу, и в нем перечислены доступные для него курсы.
(До тех пор, пока здесь мне не удалось заставить его работать.) - Пользователь нажимает на название курса и отображается информация об этом конкретном курсе.
(Вот где вложенные массивы меня обмануть Есть такую вещь, как courseArray.section [parentIndex] .course [$ указательного] .title.?)
Вот версия Plnkr - начала, но никогда не исправлено: http://plnkr.co/edit/JRIyQLuRfVslVjr5fFSY?p=preview
Любой свет на это очень ценится. Best, San
Похоже, у вас есть несколько ненужных ng-repeat. Попробуйте назначить выбранный курс переменной $ scope.variable и использовать эту переменную для привязки к разделу подробных сведений о курсе. – Will
Извините Не уверен, понимаю ли вы, что вы имеете в виду. Я придумал обходное решение, описанное ниже, возможно, это то, что вы говорите, я назначаю код курса переменной, а затем фильтрую ее в ngRepeat - также на этот раз я использую только тот, который вы предложили. – Perroud