我需要在Meteor中动态创建模板的副本。副本应具有相同的手柄内容,但应具有一组不同的帮助程序,方法和事件处理程序。我怎样才能做到这一点?
我试过了:
Template.copy = function() {
return Template.original.apply(this, arguments);
}
并显示正确的html,但生成的模板不是被动的。另一方面,当我做
时Template.copy = function() {
return Meteor.render(Template.original.apply(this, arguments));
}
render
的结果是DocumentFragment
对象,我不知道如何正确转换为字符串或附加到DOM。
答案 0 :(得分:2)
我猜this package应该可以正常工作。基本上,要实现您想要的目标,您需要访问您的tempalte raw_func
,然后使用其他名称调用Template.__define__(name, raw_func)
。如果您破解原始Template.__define__
,则可以执行此操作,因为它已完成here)。但是,你需要一个软件包来在适当的时候完成所有的黑客攻击。
答案 1 :(得分:1)
我建议您查看新的Meteor UI部分。这里的所有代码都将改变很多。
我认为你应该可以做像
这样的事情Template.copy = Template.extend(original, {});
如果您查看此meteor-talk讨论或此faq,可以了解详细信息。您可以使用
进行预览版本测试meteor --release template-engine-preview-3