我想呈現一個帶有鬍鬚模板的javascript對象數組數組,並且我還沒有發現有人問過這個問題。我可以渲染一個對象數組很好,但我無法弄清楚如何渲染它們的數組。我可以將每個嵌套數組分配給它自己的變量,但是可能有任何數量的它們,所以我真的需要將它們保存爲一個數組。如何渲染帶有鬍子的對象數組數組
這裏是數據I需要渲染的類型:
[
[
{ id: 12345, name: "Billy" },
{ id: 23456, name: "Joe" },
{ id: 34567, name: "Jenny" }
],
[
{ id: 45678, name: "Amy" },
{ id: 56789, name: "Julie" },
{ id: 67890, name: "Sam" }
]
]
外陣列可以包含任何數量的嵌套陣列,和每個嵌套陣列可以包含任意數量的對象。
我不知道鬍子是否可能。我嘗試過使用函數,這是我第一次使用帶鬍子的函數,所以也許我做錯了什麼。我從Backbone View的渲染函數中調用它。數組數組(如上所示)是視圖模型屬性的一部分。所以這是我的嘗試。
render:
function()
{
this.model.attributes.getList =
function()
{
return function (str, func) { return 'What in the world should I return here?'; }
}
this.$el.html (Mustache.render ($ ('#detail-template').html(), this.model.attributes));
return this;
},
這裏是我試圖使用函數的模板部分。
{{#getList}}
{{name}}
{{/getList}}
我很確定{{name}}不屬於那裏,但我不知道我會在那裏放什麼。我試過返回func(str),但是它打印的所有東西都是一個長字符串,包含[object Object],[object Object],[object Object],[object Object],[object Object],[object Object ],[object Object],[object Object]
我無法將該字符串用作json對象,它只是一個字符串。
我對骨幹和小鬍子都有點新鮮感,所以我認爲有人可能會有一個「最佳實踐」解決方案,或者至少可以告訴我是否不可能,所以我不會浪費任何時間它。我無法在互聯網上的任何地方找到類似的問題。
難道你只是扁平你的數組?用下劃線的扁平功能?順便說一句。在那裏渲染你不應該放棄「model.attributes」而是「model.toJSON()」。 – Luke
@Luke是對的,如果你使用的是鬍鬚,那麼在你接近模板的任何地方之前,你將會用JavaScript來處理所有數據。 –