Я пытаюсь реализовать некоторый код, используя backbone.js
и hogan.js (http://twitter.github.com/hogan.js/)
Hogan.js был разработан на основе набора тестов для усов,
поэтому все, что справедливо для шаблонов,
указанных здесь, также относится и к hogan.js.
Моя проблема заключается в передаче Backbone.Collection в Hogan/Mustache.
Для простого шаблона, подобного этому:
{{name}}
Hogan/Mustache, ожидающий чего-то подобного, отлично работает:
{"name":"How Bizarre","artist":"OMC"}
Однако мой Backbone.Collection:
a)
[{"name":"Как странно","исполнитель":"OMC"}]
Или это:
б) [{"имя":"Как странно","исполнитель":"OMC"}, {"имя":"Сексуальное исцеление","художник":"Марвин Гэй"}]
На демонстрационной странице http://mustache.github.com/#demo я не могу
повторять над любым из a) или b) объектов Backbone.Collection.
Может ли кто-нибудь указать, как я могу это сделать?
var Song = Backbone.Model.extend({
defaults: {
name: "Not specified",
artist: "Not specified"
}
});
var Album = Backbone.Collection.extend({
model: Song
});
var song1 = new Song({ name: "How Bizarre", artist: "OMC" });
var song2 = new Song({ name: "Sexual Healing", artist: "Marvin Gaye" });
var myAlbum = new Album;
myAlbum.add(song1);
myAlbum.add(song2);
Я пытаюсь выполнить рендеринг, передавая мой объект Backbone.Colleciton следующим образом: myAlbum.toJSON()
var template = "{{name}}!";
var template = Hogan.compile(template);
this.el.html(template.render(myAlbum.toJSON()));
Спасибо.