如何显示集合中的多维数据。说我有这个
links.insert({
cat:[{
name:'js',
sub:[{
name:'angularJS',
links:[{
url:'something.com'},{url:'another.com'}]
},{
name:'meteorJS',
links:[{
url:'something.com'},{url:'another.com'}]
}]
}]
});
像这样检索帮助器中的数据
'links':function(){
return links.find(); // also tried links.find().fetch()
一个选项是为特定数据使用单独的帮助程序。但我想使用单个帮助器,它将接收整个数据并显示它像
{{#each links}}
{{cat.name}} : {{sub.name}} : {{links.url}}
{{/each}}
答案 0 :(得分:1)
你试过了吗?
{{#each link}}
{{cat.[0].name}} : {{cat.[0].sub.[0].name}} : {{cat.[0].sub.[0].links.[0].url}}
{{/each}}
答案 1 :(得分:0)
JSON无效。你的助手看起来像这样:
Template.yourTemplate.helpers({
link: function () {
var cat = [
{
"name": "meteorJS",
"sub": [
{
"name": "angularJS",
"links": [
{
"url": "something.com"
},
{
"url": "another.com"
}
]
},
{
"name": "angularJS",
"links": [
{
"url": "something.com"
},
{
"url": "another.com"
}
]
}
],
"links": []
}
];
return cat;
}
});
模板看起来像这样:
<template name="yourTemplate">
{{#each link}}
{{name}} : {{sub.[0].name}} : {{sub.[0].links.[0].url}}
{{/each}}
</template>
答案 2 :(得分:0)
当你必须遍历元素时,你应该使用{{#each foo}}
,其中foo
是每个元素内部使用的上下文。
{{#each link}}
{{ name }} :
{{#each sub}}
{{ name }} :
{{#each links}}
{{ url }}
{{/each}}
{{/each}}
{{/each}}
请注意,它正在调用{{ name }}
而不是{{ cat.name }}
,对于下一个名称和网址都是如此。