有关为嵌套集合构建模板的建议
advice on structuring templates for a nested collection
>我在mongo中有一个树结构,每个节点都有其父节点的id。像这样:
{ "_id" : 1 }
{ "_id" : 2, "parent" : 1 }
整个树是通过使用以下模板递归渲染每个节点来呈现的:
<template name="thing">
<div class="project open {{status}}" data-id="{{_id}}" id="thing_{{_id}}">
<div class="name">{{name}}</div>
<div class="children" id="children_{{_id}}">
{{> childrenThings }}
</div>
</div>
</template>
<template id="childrenThings" name="childrenThings">
{{#each children}}
{{> thing}}
{{/each}}
</template>
其中模板"thing"调用模板"childThings",后者再次调用模板"thing",依此类推,直到所有节点都被重新渲染。
现在,当我更改嵌套项时,我看到所有节点直到其根父节点都被重新渲染。我应该如何设置模板,以便只重新呈现当前模板,而不是其所有父节点,直到根?
谢谢:)
当子模板重新渲染时,它们会触发父模板的渲染回调。所以这并不意味着你的整个父树已经从 DOM 中删除并重新放置。这只是意味着模板范围内的某个 DOM 节点已被渲染。这有点令人困惑。如果您注意到闪烁或其他一些奇怪的行为,那就不同了。但是你的代码对我来说看起来不错。
相关文章:
- 我应该如何从xml文件构建一个javascript页面
- 如何在DOM元素上按类型构建此函数
- Sencha Touch构建-排除文件
- RubyonRails——构建交互式接口应该朝哪个方向发展
- 如何在构建node-webkit应用程序后获取外部资源
- Ext.js从json构建模型关系的问题
- 如何为生产构建angular2应用程序
- Grunt构建导致Angular应用程序在dist上崩溃
- 构建JS测试,警报窗口重复上一个Q,而不是问下一个Q
- 动态构建一个数据表与scriplets
- 如何只使用特定的表行构建简单的手风琴
- 为tweet构建chrome扩展
- 如何构建angular.js应用程序
- 如何使用Meteorjs构建实时应用程序
- jquery从2个json字符串构建一个复选框表单
- webpack开发模式和生产构建模式之间有什么区别
- js文件是否阻碍了war文件的构建
- 如何在Javascript中从select标记的一系列选项中构建二维数组
- 如何使用angularjs构建交互式滚动着陆页
- 如何在dojo应用程序构建概要文件中加载json文件