我想呈现一个带有胡须模板的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来处理所有数据。 –