2015-06-14 124 views
0

有没有办法检查是否已经渲染了特定的模板,除了使用会话,即模板可供其他外部函数使用?检查流星模板已渲染

一个很好的例子是我想使用Blaze.renderWithData,但需要事先知道Template是可用的。

+0

您是否尝试过使用'Session'解决这个问题? –

+0

是的,但想知道是否有不同的方式? – JoeTidee

回答

0

如果要查看模板是否已呈现,请在onRendered回调中插入一个标记。如果您不喜欢会话变量,请使用反应变量或字典&在onDestroyed中包含逆。存储反应 - 无论在你的包对象的全局下。或者,如果您知道它可能呈现的位置,则可以在其出现的元素上使用Blaze.getView,如果它返回,则表明您已知该元素,例如, Blaze.getView($('.foo')[0])

另外考虑问自己为什么你不能使用空格键或直接在onRendered回调中嵌入渲染。使用Blaze.renderWithData是相当罕见的。

+0

使用Blaze.renderWithData的原因是因为我有多个使用此模板的屏幕区域。模板的第一次使用可以在页面加载时呈现,但是,后续使用相同的模板是用户启动的。 – JoeTidee