Я пытаюсь выучить Backbone.js и, похоже, у меня проблема с извлечением из модели.У меня есть:
window.News = Backbone.Model.extend({
urlRoot: "/rest/news"
});
window.NewsItems = Backbone.Collection.extend({
model: News,
url: "/rest/news"
});
window.NewsView = Backbone.View.extend({
el: $(".newsItem"),
events: {
"click .edit": "editNews"
},
editTemplate: $('#tmpl-edit-news-item').template(),
editNews: function(evt) {
console.log("EDIT CLICKED");
var ele = $(evt.target);
var news = new News({id:1});
news.fetch();
console.log(news);
console.log(news.get('title');
}
});
new NewsView();
У меня есть элементы на странице, которые имеют класс = "edit" data-id = "$ ID".Когда я нажимаю на элемент, все идет как положеноBackbone запускает функцию editNews, в консоли появляется «EDIT CLICKED», а console.log (news) выводит объект.Внутри этого объекта я заметил, что есть поле атрибутов, которое содержит json элемента новостей, загруженного сервером.Так что сервер работает и отправляет обратно json.Существует поле заголовка, которое установлено на «Test News Title», но при запуске console.log (news.get ('title')) возвращает неопределенное значение.
Нужно ли передавать извлеченные данные чему-либо, чтобы превратить их в базовую модель?Я подумал, что при использовании fetch он взял возвращенные данные json и поместил их в модель.
Дополнительная информация:
url requested: http://localhost/rest/news/1
response data: {"class":"org.backbonetest.News","id":1,"content":"This is test content","dateCreated":"2011-09-20T16:19:56Z","lastUpdated":"2011-09-20T16:19:56Z","shortDescription":"","title":"Test News Title"}