Meteor为模板助手提供的集合中的每个对象多次呈现父级

时间:2013-02-22 20:22:26

标签: javascript meteor handlebars.js

我的HTML代码是:

{{#each slides}}
   {{> slide}}
{{/each}}

我的javascript助手是:

Template.draggables.slides = function() {
return LiveSlides.find();
};

我在{{#isolate}}语句周围尝试{{#each}},以及子模板,以及两者的组合,以及更多的排列。正在重新渲染所有父模板,以及集合中的每个对象。因此,在首次加载网页时,如果我在集合中有10个对象,则将呈现所有父模板。我正在记录这一切。我很确定它不会以常规会话变量的方式运行 - 我认为这些集合很有趣。谁知道问题可能是什么?

更新 - 我刚刚创建了一个新的空白应用程序进行测试,我仍然获得了重新渲染自己的父母模板 - 这里有所有的应用程序:

 <body>
  {{> parent}}
</body>

<template name="parent">
    {{>child}}
</template>

<template name="child">
    {{#each desks}}
        <li>{{name}}</li>
    {{/each}}
</template>


Template.parent.rendered = function() {
    console.log('parent rendered');
};

Template.child.desks = function() {
    return Desks.find();
};

1 个答案:

答案 0 :(得分:1)

我认为这里发生的事情是为渲染的每个孩子调用父“渲染”回调。所以父母实际上并没有再次回到DOM上。它呈现的回调是由孩子们发起的。如果有一个特定的用例,你试图让我知道,我会尝试用一些建议来扩展我的答案。