有关为嵌套集合构建模板的建议

advice on structuring templates for a nested collection

本文关键字:建模 构建 嵌套 集合      更新时间:2023-09-26

>我在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 节点已被渲染。这有点令人困惑。如果您注意到闪烁或其他一些奇怪的行为,那就不同了。但是你的代码对我来说看起来不错。