Meteor 从 collection 添加 html 个元素
Meteor adding html elements from collection
我有数据需要在collection中显示。我应该遍历 collection 并根据 collection.
中的每个元素创建 html 元素
我想在 html 代码中插入看起来像这样的卡片。
<div class="card #66bb6a green lighten-1">
<div class="card-content white-text">
<span class="card-title">{{ title }}</span>
{{#if currentUser}}
<p>{{ currentUser }}</p>
{{/if}}
</div>
<div class="card-action">
<a class="card-nav" href="#">Navigation</a>
<a class="card-remove" href="#">Remove</a>
</div>
</div>
请注意,点击事件应该发生在两个元素上 (card-nav、card-remove)。
做这个的最好方式是什么?这可以用一个模板创建,然后根据 collection 插入每个模板吗?
感谢解答!
您应该添加助手示例:
Template.your_template_name.helpers({ //getting the data from collection and assign it to a helper
yourdata: function() {
return some_collection.find({});
}
});
然后在你的火焰中像这样添加它
<div class="card #66bb6a green lighten-1">
<div class="card-content white-text">
<span class="card-title">{{ yourdata.title }}</span> //asign youdata.title
{{#if currentUser}}
<p>{{ currentUser }}</p>
{{/if}}
</div>
<div class="card-action">
<a class="card-nav" href="#">Navigation</a>
<a class="card-remove" href="#">Remove</a>
</div>
</div>
为了删除或导航您添加事件
Template.your_template_name.events({
"click .card-remove": function () {
some_collection.remove(this._id);
}
})
你可以对每个人都这样做
在您的主模板中添加
{{#each yourdata}}
{{> your_template_name}}
{{/each}}
<template name="your_template_name">
<div class="card #66bb6a green lighten-1">
<div class="card-content white-text">
<span class="card-title">{{ title }}</span>
{{#if currentUser}}
<p>{{ currentUser }}</p>
{{/if}}
</div>
<div class="card-action">
<a class="card-nav" href="#">Navigation</a>
<a class="card-remove" href="#">Remove</a>
</div>
</div>
</template>
我建议查看 meteor.com 他们有一些很好的教程。
我有数据需要在collection中显示。我应该遍历 collection 并根据 collection.
中的每个元素创建 html 元素我想在 html 代码中插入看起来像这样的卡片。
<div class="card #66bb6a green lighten-1">
<div class="card-content white-text">
<span class="card-title">{{ title }}</span>
{{#if currentUser}}
<p>{{ currentUser }}</p>
{{/if}}
</div>
<div class="card-action">
<a class="card-nav" href="#">Navigation</a>
<a class="card-remove" href="#">Remove</a>
</div>
</div>
请注意,点击事件应该发生在两个元素上 (card-nav、card-remove)。 做这个的最好方式是什么?这可以用一个模板创建,然后根据 collection 插入每个模板吗?
感谢解答!
您应该添加助手示例:
Template.your_template_name.helpers({ //getting the data from collection and assign it to a helper
yourdata: function() {
return some_collection.find({});
}
});
然后在你的火焰中像这样添加它
<div class="card #66bb6a green lighten-1">
<div class="card-content white-text">
<span class="card-title">{{ yourdata.title }}</span> //asign youdata.title
{{#if currentUser}}
<p>{{ currentUser }}</p>
{{/if}}
</div>
<div class="card-action">
<a class="card-nav" href="#">Navigation</a>
<a class="card-remove" href="#">Remove</a>
</div>
</div>
为了删除或导航您添加事件
Template.your_template_name.events({
"click .card-remove": function () {
some_collection.remove(this._id);
}
})
你可以对每个人都这样做 在您的主模板中添加
{{#each yourdata}}
{{> your_template_name}}
{{/each}}
<template name="your_template_name">
<div class="card #66bb6a green lighten-1">
<div class="card-content white-text">
<span class="card-title">{{ title }}</span>
{{#if currentUser}}
<p>{{ currentUser }}</p>
{{/if}}
</div>
<div class="card-action">
<a class="card-nav" href="#">Navigation</a>
<a class="card-remove" href="#">Remove</a>
</div>
</div>
</template>
我建议查看 meteor.com 他们有一些很好的教程。