2014-11-22 95 views
3

我认为这可能是非常有用的东西。流星和铁路路由器的产量是否有事件挂钩? Template.yield.rendered?

如果我们有:

<template name="layout"> 

    {{> header }} 

    {{> yield }} 

    {{> footer }} 

</template> 

这将是不错的东西像

Template.yield.rendered = function() { 
    // Do something after the yield has finished rendering 
} 

除了

Template.header.rendered = function() { 
    // Do something after the header has finished rendering 
} 

Template.footer.rendered = function() { 
    // Do something after the footer has finished rendering 
} 
+0

你知道呈现的回调在被放弃的模板上触发,对吧?但是你想要定义一个在所有正在生成的模板上被渲染的回调函数吗? – 2014-11-22 09:03:02

+0

是的。我想在可能产生的'any'模板上定义呈现的回调。假设我有共同的代码,应该在yield之后运行。我不想在每个模板的每个单独的'.rendered'回调中反复编写或引用相同的代码。 – fuzzybabybunny 2014-11-22 09:05:13

回答

1

如果你真的需要有'挂钩任何'模板,您可以定义一个嵌套良品模板:

<template name="layout"> 

    {{> header }} 

    {{> nested_yield }} 

    {{> footer }} 

</template> 

<template name="nested_yield"> 
{{> yield }} 
</template> 

然后

Template.nested_yield.onRendered(function() { 
    //your render code here 
}); 

然而,你可能会遇到的问题与当模板结束了相同的模板进行更新IronRouter缓存模板,也不会真正“重新渲染”的模板。

+0

谢谢。我会给这个镜头。 – fuzzybabybunny 2015-08-13 00:38:42

相关问题