我对 Meteor 很陌生,我在尝试理解模板上的“渲染”事件时遇到了麻烦。
假设我有这两个模板:
<template name="parent">
<div id="list">
{{#each childs}}
{{> child}}
{{/each}}
</div>
</template>
<template name="child">
<div class="item">
<!-- content -->
</div>
</template>
这两个事件:
Template.parent.rendered = function () {
console.log('parent');
};
Template.child.rendered = function () {
console.log('child');
};
我总是从控制台得到这个:
> 家长 > 孩子 > 孩子 > 孩子
所以基本上父模板在内部模板完成渲染之前触发“渲染”。因此,我无法像 jquery 插件那样对 DOM 执行任何发布操作。例如:
Template.parent.rendered = function () {
$('#list').myplugin();
};
由于这是在渲染内部模板之前执行的,因此会破坏插件。
当模板完全渲染(包括它的内部模板)时,我现在可以安全地使用解决方法或流星事件吗?