Meteor为模板辅助对象提供的集合中的每个对象多次渲染父对象
Meteor renders parent multiple times for each object in collection provided by template helper
我的HTML代码是:
{{#each slides}}
{{> slide}}
{{/each}}
我的javascript助手是:
Template.draggables.slides = function() {
return LiveSlides.find();
};
我已经围绕{{#each}}
语句尝试了{{#isolate}}
,以及一个子模板,以及两者的组合,以及更多的排列。所有父模板以及集合中的每个对象都将被重新渲染。所以,在第一次加载网页时,如果集合中有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();
};
我认为这里发生的事情是为每个渲染的子级调用父级"渲染"回调。因此,父级实际上并没有再次被放回DOM中。其呈现的回调正由子级激发。如果你想完成一个特定的用例,请告诉我,我会尝试用一些建议来扩展我的答案。
相关文章:
- 使用Undercore创建对象集合
- 我们可以用参数对象集合而不是原始数据来调用JavaScript collection.reduce()方法吗
- 将一个对象集合映射到汇总集合的单个对象
- 正在查找对象集合的最大值
- 如何将带有普通对象集合的 Js 数组对象传递给 ajax post'html' 数据类型中的控制器
- 如何在 JavaScript 中对对象集合进行排序,而不将其转换为数组
- 在 JavaScript 中向对象集合添加键
- 对象集合之间的jQuery.index
- 如何为对象集合创建接口
- 如何将对象转换为对象数组(或对象集合)
- JS/MongoDB:检查对象(集合文档)中是否存在嵌套字段
- 通过angular js中的http-post传递对象集合
- 对对象集合使用触发器
- 尝试在ASP.NET MVC 3中将对象集合从客户端传递到服务器
- MongoDb:如何将附加对象插入到对象集合中
- 将具有唯一id的对象集合存储为以id作为键的关联数组,而不是作为常规数组,是否存在缺陷?
- 如何在使用AngularJS ng-repeat时访问过滤对象集合?
- 如何在JavaScript中创建对象集合并在另一个对象中赋值
- 是否有一种更简单的方法来使用lodash从多个对象集合中构造一个唯一值的数组?
- 当尝试按名称获取链接按钮时,获取HTML对象集合