是否可以动态引用模板名称并在其上调用onRedered

时间:2015-03-31 04:49:05

标签: meteor

目前我在一个软件包中有以下内容:

Template.layout.onRendered(function() {
  //Do stuff when the template called "layout" is rendered
});

但我想让模板名称用户可配置。类似的东西:

var templateName = 'customLayout'; 
Template.{templateName}.onRendered(function() {
  //Do stuff when the template called "customLayout" is rendered
});

任何正确方向的帮助都会很棒!

2 个答案:

答案 0 :(得分:1)

在JavaScript中,您可以使用方括号语法来执行此操作:

Template['customLayout'].onRendered( [...] )
上面的

'customLayout'可以是任意表达。

答案 1 :(得分:0)

从Meteor 0.8.2开始,你可以这样写:

var myTemplate='foo';
{{> UI.dynamic template=myTemplate}}

https://www.discovermeteor.com/blog/blaze-dynamic-template-includes/