将响应范围限制到流星中的子文档



我有一个mongo文档结构如下:

Gallery
--- Sub-Gallery
------ Image
------ Image
------ Image
--- Sub-Gallery
------ Image
------ Image
.
.
.
Gallery
.
.
.

我想在屏幕上表示它。简单的实现是:

<name template="gallery">
{{#with get_specific_gallery_helper))
    {{#each sub_gallery}}
    This is a gallery {{name_sub_gallery}}
        {{#each image}}
            Something {{name_image}}
        {{/each}} 
    {{/each}}
{{/with}}

这种植入的问题是,每次单个图像数据更改时,整个Gallery模板都要重新渲染。

有更好的方法吗?

是否可以在每个步骤中限制作用域?

我希望保持db结构原样(不规范化)。


为什么我认为这是个问题?首先,这根本说不通。更实际的是,我有特定的事件处理程序,每当一个图库/子图库/图像被渲染时调用(例如,加载图像时fade in)。始终渲染所有内容会使处理这些操作变得更加困难。

考虑反应性隔离:

<template name="gallery">
    {{#each sub_gallery}}
        {{#isolate}}
            This is a gallery {{name_sub_gallery}}
            {{#each image}}
                {{#isolate}}
                Something {{name_image}}
                {{/isolate}}
            {{/each}}
         {{/isolate}}        
    {{/each}}
</template>

这将孤立块中的变化定位到它们自己的行星上,所以它们周围的一切保持不变,不受影响,它仍然保持活性

您可能需要用文档结构进行测试,因为如果您使用数组而不是使用键

关联数组来存储子项,则每个文档索引在更新时可能会发生变化。