1

私は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」がテンプレート「childrenThings」を呼び出し、テンプレート「thing」が再び呼び出され、すべてのノードが再レンダリングされるまで続きます。

ネストされたアイテムを変更すると、ルートの親までのすべてのノードが再レンダリングされることがわかります。ルートまでのすべての親ノードではなく、現在のテンプレートのみが再レンダリングされるように、テンプレートをどのように設定すればよいですか?

ありがとう :)

4

1 に答える 1

0

子テンプレートが再レンダリングされると、親のレンダリングされたコールバックが起動されます。したがって、親ツリー全体が文字通り DOM から取り除かれ、元に戻されたという意味ではありません。テンプレートの範囲内のいくつかのDOM ノードがレンダリングされたことを意味します。これは少し混乱します。ちらつきやその他の奇妙な動作に気付いている場合、それは異なります. しかし、あなたのコードは私には大丈夫に見えます。

于 2013-03-16T02:15:23.433 に答える