流星: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({})
    }
});