Backbone.js Модель по умолчанию и анализ
У меня есть этоBackbone.Model
представление тома API Google Книг:
var Book = Backbone.Model.extend({
defaults: {
volumeInfo : {
title: 'n.a.',
authors: 'n.a.',
publisher: 'n.a.',
publishedDate: 'n.a.',
imageLinks : {
smallThumbnail: '/unavailable.jpg'
}
}
},
parse: function(resp) {
if (resp.volumeInfo.authors) {
resp.volumeInfo.authors = resp.volumeInfo.authors.join(',');
}
return resp;
}
});
Который подается на этот шаблон:
<script type="text/template" id="bookCollectionRow">
<tr>
<td><img class="thumbnail" src="<%= volumeInfo.imageLinks.smallThumbnail %>" /></td>
<td><a target="_blank" href="<%= volumeInfo.canonicalVolumeLink %>"><%= volumeInfo.title %></a></td>
<td><%= volumeInfo.authors %></td>
<td><%= volumeInfo.publisher %></td>
<td><%= volumeInfo.publishedDate %></td>
</tr>
</script>
При разборе шаблона, когда том JSON не содержитimageLinks
Я получаю эту ошибку:
Uncaught TypeError: Cannot read property 'smallThumbnail' of undefined.
Я знаю, что могу это исправить, проверивif
вModel
или вtemplate
но какова цельdefaults
свойство модели тогда? Это работает, только если не переопределитьparse
?