У меня есть json файл:
{
"pages": {
"page1": {
"field1": "....",
"field2": "....",
"field3": "....",
"thumbnails": [
{
"illustration": "images/img.png",
"content": "...."
},
{
"illustration": "images/img.png",
"content": "...."
},
{
"illustration": "images/img.png",
"content": "...."
}
]
},
......
Когда я хочу использовать его в своем html, я просто делаю: {{ 'pages.page1.field1' | translate }}
{{ 'pages.page1.field1' | translate }}
например
НО
Что, если мне нужно повторить? Для эскизов.
<div ng-repeat="thumbnail in pages.page1.thumbnails">
{{ thumbnail.content }}
</div>
Но, очевидно, это не работает. Я не знаю, как получить доступ к эскизам.
ИЗМЕНИТЬ 1:
Я использую "useStaticFilesLoader", как это в моей конфигурации:
$translateProvider.useStaticFilesLoader({
prefix: 'assets/app_components/app/languages/emag_',
suffix: '.json'
});
Поэтому у меня нет json, который определен в моем контроллере.
EDIT 2: Чтобы быть более точным, здесь plunkr с тем, что я точно хочу сделать: чтобы помочь вам понять, в чем моя проблема, я сделал небольшой plunkr здесь: http://plnkr.co/edit/mocztnQYvmmuc3Nslmnb?p=preview
У вас плохой файл json. У вас есть объекты в объекте. Вам нужен массив.
Попробуй это.
{
"thumbnails": [
{
"illustration": "images/img.png",
"content": "...."
},
{
"illustration": "images/img.png",
"content": "...."
},
{
"illustration": "images/img.png",
"content": "...."
}
]
}
Я думаю, что ng-repeat работает только с массивом, потому что ng-repeat нужно знать длину.
Sry для плохой английский :)
Страницы той же проблемы.
{
"pages": [
{
"fields": [
"...",
"...",
"...."
],
"thumbnails": [
{
"illustration": "image/img_01.png",
"content": "...."
},
{
"illustration": "image/img_01.png",
"content": "...."
},
{
"illustration": "image/img_01.png",
"content": "...."
}
]
}
]
}
<div ng-repeat="vignette in pages.page1.vignettes" .....
У меня нет контроллера, который содержит страницы объекта json. Он автоматически загружается из углового перевода (см. «РЕДАКТИРОВАНИЕ 1»).
<div ng-repeat="thumb in pages[1].thumbnails">...
или <div ng-repeat="vignettein pages[1].vignettes">...