使用变量作为名称来访问另一个数组的嵌套元素
Use a variable as name to access nested elements of another array
我为我在助手中构建的数组执行每个循环:
Template.article.helpers({
section: function() {
return [
{type: 'cars', sectionTitle: 'Cars'},
{type: 'vegetables', sectionTitle: 'Vegetables'}
];
},
});
文章的数据来自路由器:
Router.route('/article/:_id', {
name: 'article',
data: function() {
return {
article: Articles.findOne({ _id: this.params._id })
}
}
});
但现在我想使用助手的 type
访问 article
的子元素。所以在这个例子中,每个循环将完成两次:我首先想使用 ../article.cars
,然后是 ../article.vegetable
。我希望你能理解我的问题。我想通过助手类型获取子元素的名称:
<template name="article">
{{#each section}}
<h1>{{this.sectionTitle}}</h1>
<ul>
{{#each ../article.type}} <!-- should get '../article.cars' and '../article.vegetable' -->
<li>{{this.title}}</li>
{{/each}}
</ul>
{{/each}}
</template>
我想用type
的内容作为变量名。如果类型是 'cars',那么我想使用 ../articles.cars'. Which would be something like
articles['cars']which would result of
articles[type]. But in meteor this writing is not possible. And
articles.type` 是不同的.
只需使用另一个助手:
s: function(article) {
return article[this.type];
}
并用空格键发送一个参数:
{{#each s ../article}}
我为我在助手中构建的数组执行每个循环:
Template.article.helpers({
section: function() {
return [
{type: 'cars', sectionTitle: 'Cars'},
{type: 'vegetables', sectionTitle: 'Vegetables'}
];
},
});
文章的数据来自路由器:
Router.route('/article/:_id', {
name: 'article',
data: function() {
return {
article: Articles.findOne({ _id: this.params._id })
}
}
});
但现在我想使用助手的 type
访问 article
的子元素。所以在这个例子中,每个循环将完成两次:我首先想使用 ../article.cars
,然后是 ../article.vegetable
。我希望你能理解我的问题。我想通过助手类型获取子元素的名称:
<template name="article">
{{#each section}}
<h1>{{this.sectionTitle}}</h1>
<ul>
{{#each ../article.type}} <!-- should get '../article.cars' and '../article.vegetable' -->
<li>{{this.title}}</li>
{{/each}}
</ul>
{{/each}}
</template>
我想用type
的内容作为变量名。如果类型是 'cars',那么我想使用 ../articles.cars'. Which would be something like
articles['cars']which would result of
articles[type]. But in meteor this writing is not possible. And
articles.type` 是不同的.
只需使用另一个助手:
s: function(article) {
return article[this.type];
}
并用空格键发送一个参数:
{{#each s ../article}}