是否可以使用帮助程序自动打印Meteor集合的字段而不指定它们?
让我们说我开始有一个帮助器,它返回存储在表中的对象集合,如下所示:
{{ #each CollectionData }}
<thead>
<tr>
<th>Code</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<Tr class="object-row">
<Td> {{code}} </ td>
<Td> {{description}} </ td>
</tr>
</tbody>
...
{{/each}}
现在我指定一个&#34;对象架构&#34;为每个集合设置我想要自动打印的字段,伪示例:
// Items is the name of the possible collection
Schema.items var = {
fields {
code: {
columnName: "code",
show: false,
},
description: {
columnName: "description",
show: false,
},
otherField {
columnName: "foo",
show: false,
}
}
}
现在,我会让帮助器自动生成show check为true的集合字段的表列和值,而不必手动指定{{code}},{{description}}等等on,伪示例:
{{ #each CollectionData }}
<thead>
<tr>
{{print each column where show check is == true, without manually specifing any name}}
</tr>
</thead>
<tbody>
<Tr class="object-row">
{{print the value of the column, for this record, where show check is == true, without specifing its name}}
</tr>
</tbody>
...
{{/each}}
有没有办法做到这一点?
答案 0 :(得分:0)
最简单的方法是为每个TD创建一个模板,例如
<thead>
<tr>
{{#each fetchColumnHeaders}}
{{> columnHeader }}
{{/each}}
</tr>
</thead>
{{ #each CollectionData }}
<tbody>
<Tr class="object-row">
{{#each fetchColumnItems}}
{{> columnItem}}
{{/each}}
</tr>
</tbody>
{{/each}}
<template name="columnHeader">
<th>{{label}}</th>
</template>
<template name="columnItem">
<td>{{label}}</td>
</template>
然后你可以编写模板助手来返回列标题,以及基于你的模式的各种项目