我有一个带有两个备用模板的布局:
<template name="MyLayout">
{{#if myBoolean}}
{{> template1}}
{{else}}
{{> template2}}
{{/if}}
</template>
当我将布尔值切换为 true(在 false 上初始化)时,Template.template1.rendered = function () {};
会触发。但是当我将其切换为 false 时,Template.template1.destroyed
不会触发钩子。当我将其切换回 true 时,Template.template1.rendered
也不会触发该事件。
问题是我使用rendered
钩子来启动一些动画。因此,当我第一次将布尔值切换为 true 时,会显示我的 template1,但不会在以下开关上显示。
在 0.8 之前,渲染的事件被调用很多。现在有点少了。当模板不再在 DOM 中时,是否有可以用来销毁模板的选项或其他东西?
顺便说一句:为了使它工作,我仍然有在模板中间放置一个助手的丑陋解决方案1。每次将模板添加到 DOM 时都会调用该帮助程序;所以我可以从那里开始我的动画。但这很丑陋。