Javascript 流星:共享模板
我正在使用Meteor构建一个应用程序,它的形式非常大。我使用了几乎相同的html模板两次,一次用于输入,一次用于输出,但是助手是不同的Javascript 流星:共享模板,javascript,node.js,meteor,npm,meteor-blaze,Javascript,Node.js,Meteor,Npm,Meteor Blaze,我正在使用Meteor构建一个应用程序,它的形式非常大。我使用了几乎相同的html模板两次,一次用于输入,一次用于输出,但是助手是不同的 由于两个模板很难维护,我的问题是,是否有一种方法可以共享html模板或克隆它,这样我就可以拥有相同的模板但不同的帮助程序和事件?您可以为此使用模板参数 HTML JS client/views/reusabletemplate/lib/input.js inputHelper=function (){ console.log(this.mode); /
由于两个模板很难维护,我的问题是,是否有一种方法可以共享html模板或克隆它,这样我就可以拥有相同的模板但不同的帮助程序和事件?您可以为此使用模板参数 HTML JS
client/views/reusabletemplate/lib/input.js
inputHelper=function (){
console.log(this.mode);
// specific input code
};
outputHelper=function(){
console.log(this.mode);
// specific output code
};
Template.reusableTemplate.helpers({
helper:function(){
if(this.mode == "input"){
inputHelper.call(this);
}
else{
outputHelper.call(this);
}
}
});
client/views/reusabletemplate/lib/output.js
inputHelper=function (){
console.log(this.mode);
// specific input code
};
outputHelper=function(){
console.log(this.mode);
// specific output code
};
Template.reusableTemplate.helpers({
helper:function(){
if(this.mode == "input"){
inputHelper.call(this);
}
else{
outputHelper.call(this);
}
}
});
client/views/reusabletemplate/reusabletemplate.js
inputHelper=function (){
console.log(this.mode);
// specific input code
};
outputHelper=function(){
console.log(this.mode);
// specific output code
};
Template.reusableTemplate.helpers({
helper:function(){
if(this.mode == "input"){
inputHelper.call(this);
}
else{
outputHelper.call(this);
}
}
});
寻找表单的社区包,它们可能会大大简化这项任务:我已经看过了,可惜在这种情况下没有帮助。但是谢谢你的回答:)谢谢,这看起来不错!但是,这会毁了我的代码,因为我必须将两个助手函数合并为一个,渲染方法也是如此/:有什么想法吗?编辑:将代码和文件组织重构为一个更整洁的方案,这是您的想法吗?