У меня есть массив json, отформатированный так:
share.videos = [
{
sources: [
{src: $sce.trustAsResourceUrl('http://example.com/Inner_Strength.mp4'), type: 'video/mp4'},
{src: $sce.trustAsResourceUrl('http://example.com/Inner_Strength.webm'), type: 'video/webm'},
{src: $sce.trustAsResourceUrl('http://example.com/Inner_Strength.ogv'), type: 'video/ogg'}
],
info: [
{
'title': 'Inner Strength',
'videoFile': 'Inner_Strength_HD.mp4'
}
]
}]
Я хотел бы использовать ng-options, чтобы получить заголовок из info.title
ng-options="i.info.title for i in share.videos"
Дает мне пустые метки в моем элементе select в моей DOM, но с правильным количеством опций.
Можно ли использовать ng-options с массивом, отформатированным так?
1
Jared Whipple
17 Дек 2015 в 09:48
3 ответа
Лучший ответ
info
- это массив, а не объект.
Вы должны указать его индекс.
Попробуйте вот так
ng-options="i.info[0].title for i in share.videos"
1
Anik Islam Abhi
17 Дек 2015 в 06:50
Я считаю, что у вашего info
есть несколько названий, как показано ниже:
share.videos = [
{
sources: [
{src: $sce.trustAsResourceUrl('http://example.com/Inner_Strength.mp4'), type: 'video/mp4'},
{src: $sce.trustAsResourceUrl('http://example.com/Inner_Strength.webm'), type: 'video/webm'},
{src: $sce.trustAsResourceUrl('http://example.com/Inner_Strength.ogv'), type: 'video/ogg'}
],
info: [
{
'title': 'Inner Strength',
'videoFile': 'Inner_Strength_HD.mp4'
},
{
'title': 'Another Title',
'videoFile': 'Inner_Strength_HD_another.mp4'
},
]
}]
В этом случае вы должны использовать его как -
ng-options="i.title for i in share.videos[0].info"
0
Rabi
17 Дек 2015 в 06:54
Вы можете попробовать что-то вроде этого:
ng-options="video in share.videos"
ng-options="inf in video.info"
{{inf.title}}
0
virendrao
17 Дек 2015 в 06:53
Похожие вопросы
Новые вопросы
javascript
По вопросам программирования на ECMAScript (JavaScript / JS) и его различных диалектах / реализациях (кроме ActionScript). Включите все соответствующие теги в свой вопрос; например, [node.js], [jquery], [json] и т. д.