流星:Blaze.Each 例子
Meteor: Blaze.Each example
如何使用 Blaze.Each
?例如,我想模仿这个:
{{#each Items}}
{{this}}
{{/each}}
在 JS 中。我需要保持反应性。
类似于:
Blaze.Each(Items.find(), function(item) {
console.log(item);
});
this.autorun(function(){
var items = Items.find();
_.each(items.fetch(), function(item) {
console.log(item);
});
});
这行得通。每次添加项目时 console.logs。
w/o 下划线和自动运行:
Blaze.Each(Data.find().fetch(), function(item){
console.log(item)
})
我没有得到以前的答案
这个
html
<template name="yourTemplate">
<div id="each-area">
</div>
</template>
js
Template.yourTemplate.onRendered(function () {
var renderableContent = Blaze.Each(Collection.find({}), function(){
return Template.templateToRender;
});
Blaze.render(renderableContent, this.find("#each-area"));
});
完全等同于:
html
<template name="yourTemplate">
<div id="each-area">
{{#each data}}
{{>templateToRender}}
{{/each}}
</div>
</template>
js
Template.yourTemplate.helpers({
"data": function(){
return Collection.find({})
}
});
如何使用 Blaze.Each
?例如,我想模仿这个:
{{#each Items}}
{{this}}
{{/each}}
在 JS 中。我需要保持反应性。
类似于:
Blaze.Each(Items.find(), function(item) {
console.log(item);
});
this.autorun(function(){
var items = Items.find();
_.each(items.fetch(), function(item) {
console.log(item);
});
});
这行得通。每次添加项目时 console.logs。
w/o 下划线和自动运行:
Blaze.Each(Data.find().fetch(), function(item){
console.log(item)
})
我没有得到以前的答案
这个
html
<template name="yourTemplate">
<div id="each-area">
</div>
</template>
js
Template.yourTemplate.onRendered(function () {
var renderableContent = Blaze.Each(Collection.find({}), function(){
return Template.templateToRender;
});
Blaze.render(renderableContent, this.find("#each-area"));
});
完全等同于:
html
<template name="yourTemplate">
<div id="each-area">
{{#each data}}
{{>templateToRender}}
{{/each}}
</div>
</template>
js
Template.yourTemplate.helpers({
"data": function(){
return Collection.find({})
}
});