我試圖使用Backbone.js的
和hogan.js實現一些代碼(http://twitter.github.com/hogan.js/)Mustache.js/Hogan.js與Backbone.js的
hogan.js兌鬍子測試套件開發,
所以一切對於模板也是如此,那麼具體
,也是hogan.js的情況。
我的問題是將Backbone.Collection傳遞給Hogan/Moustache。
對於一個簡單的模板是這樣的:
{{name}}
霍根/鬍子期待這樣的事情能正常工作:
{"name":"How Bizarre","artist":"OMC"}
但是我Backbone.Collection是:
一)
[{「name」:「多麼奇怪」,「藝術家」:「OMC」}]
or this:
b) [{「name」:「多麼奇怪」,「藝術家」:「OMC」},{「名字」:「性療愈」,「藝術家」:「馬文Gaye」} ]
從演示頁面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()));
謝謝。
我想我知道了。 var stuff = {}; 東西。項目通過MyAlbum = 這就讓我: {{#items}} {{名}} {{/項目}} { 「項目」:[{ 「名」:「如何奇怪「,」藝術家「:」OMC「}, {」name「:」性療愈「,」藝術家「:」Marvin Gaye「} ]} – 2012-01-09 17:41:38