在meteor中,是否有针对所有模板的onRendered函数?或者有一个简单的替代方案吗?
示例:
Template.allTemplates.onRendered(function(){/*doSomething()*/});
而不是:
Template.template0.onRendered(function(){/*doSomething()*/});
Template.template1.onRendered(function(){/*doSomething()*/});
Template.template2.onRendered(function(){/*doSomething()*/});
答案 0 :(得分:2)
似乎答案就在你面前:
_.each(_.keys(Template), function(key) {
if (Template[key] instanceof Blaze.Template) {
console.log(key, "is the name of a template");
Template[key].onRendered(myGlobalOnRenderFunction);
}
});
我不会推荐它。似乎很难预测在这种情况下会发生什么,因为这也会触发嵌套模板,所以你可能会得到比你想要的更多的调用。