Проблема: JSON получен с сервера, но имеет значение только свойство id
. GUI отображает только строку «2 1», а {{photoName}}
игнорируется. Вручную вызывает MyApp.PhotoController.get('content').objectAt(0).get('photoName')
undefined
, тогда как MyApp.PhotoController.get('content').objectAt(0).get('id')
возвращает правильный идентификатор.Ember Данные только заполняют свойство «id»
Любые Созерцания?
// Моя модель:
MyApp.Photo = DS.Model.extend({
id: DS.attr('number'),
photoName: DS.attr('string'),
photoDescription: DS.attr('string'),
photoFullSizeURL: DS.attr('string'),
photoThumbnailURL: DS.attr('string')
});
MyApp.Photo.reopenClass({
url: 'photos.json'
});
// Мой StateManager
MyApp.stateManager = Ember.StateManager.create({
rootElement: '#mainArea',
initialState: 'showMainView',
showMainView: Ember.ViewState.create({
enter: function(stateManager) {
this._super(stateManager);
var photos = MyApp.store.findAll(MyApp.Photo);
MyApp.PhotosController.set('content', photos);
},
view: Em.ContainerView.create({
childViews: ['photoListView'],
photoListView: Em.View.extend({
elementId: 'photoList',
templateName: 'photo-list-view',
contentBinding: 'MyApp.PhotosController.content'
})
})
})
})
// Мой контроллер:
MyApp.PhotosController = Ember.ArrayProxy.create({
content: []
});
// Мой шаблон:
<script type="text/x-handlebars" data-template-name="photo-list-view">
PHOTOS:<br/>
{{#each content}}
{{photoName}} {{id}}
{{/each}}
</script>
// JSON, полученный от сервера:
[
{
"id": 2,
"photoName": "Bird Photo",
"photoDescription": "Bird Photo Description",
"photoFullSizeUrl": "photos/bird.jpg",
"photoThumbnailUrl": "photos/bird_thumb.png"
},
{
"id": 1,
"photoName": "Bird Photo 2",
"photoDescription": "Bird Photo Description 2",
"photoFullSizeUrl": "photos/bird.jpg",
"photoThumbnailUrl": "photos/bird_thumb.png"
}
]
Код также размещен в Сущности здесь: https://gist.github.com/2775283