Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/41.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 复制模板_Javascript_Node.js_Meteor_Handlebars.js - Fatal编程技术网

Javascript 复制模板

Javascript 复制模板,javascript,node.js,meteor,handlebars.js,Javascript,Node.js,Meteor,Handlebars.js,我需要在Meteor中动态创建一个模板副本。副本应具有相同的handlebars内容,但有一组不同的帮助程序、方法和事件处理程序。我怎样才能做到这一点 我试过: Template.copy = function() { return Template.original.apply(this, arguments); } 它显示正确的html,但生成的模板不是被动的。另一方面,当我 Template.copy = function() { return Meteor.render

我需要在Meteor中动态创建一个模板副本。副本应具有相同的handlebars内容,但有一组不同的帮助程序、方法和事件处理程序。我怎样才能做到这一点

我试过:

Template.copy = function() {
    return Template.original.apply(this, arguments);
}
它显示正确的html,但生成的模板不是被动的。另一方面,当我

Template.copy = function() {
    return Meteor.render(Template.original.apply(this, arguments));
}

render
的结果是一个
DocumentFragment
对象,我不知道如何正确地转换为字符串或附加到DOM。

我想应该可以。基本上说,为了实现您想要的,您需要访问tempalte的
raw\u func
,然后使用不同的名称调用
模板。如果您对原始的
模板进行黑客攻击,就有可能做到这一点。但是,您需要一个软件包来在适当的时候进行所有的黑客攻击。

我建议您查看新的Meteor UI部件。这里的所有代码都将有相当大的变化

我认为你应该能做这样的事情

Template.copy = Template.extend(original, {});
如果您查看此讨论或此文档,将有更多详细信息。有一个预览版,你可以用它来测试

meteor --release template-engine-preview-3