4

私は Meteor を初めて使用し、テンプレートの「レンダリング」イベントを理解するのに苦労しています。

この 2 つのテンプレートがあるとします。

<template name="parent">    
    <div id="list">
        {{#each childs}}
            {{> child}}
        {{/each}}
    </div>
</template>

<template name="child">
    <div class="item">
        <!-- content -->
    </div>
</template>

そして、これらの 2 つのイベント:

Template.parent.rendered = function () {
    console.log('parent');
};

Template.child.rendered = function () {
    console.log('child');
};

私はいつもコンソールからこれを取得します:

> 親
> 子供
> 子供
> 子供

したがって、基本的に、内部テンプレートのレンダリングが完了する前に、親テンプレートが「レンダリング」されます。そのため、jquery プラグインのような DOM へのポスト操作を実行できません。例えば:

Template.parent.rendered = function () {
    $('#list').myplugin();
};

これは内部テンプレートがレンダリングされる前に実行されるため、プラグインが壊れます。

内部テンプレートを含め、テンプレートが完全にレンダリングされたときに安全に使用できる回避策または流星イベントはありますか?

4

1 に答える 1