如何在流星模板中创建全局函数
how to create a global function in meteor template
如何为 Meteor 中的所有模板创建一个函数?
index.js
// Some function
function somefunction(){
return true;
}
Test1.js
Template.Test1.events({
'click button' : function (event, template){
//call somefunction
}
});
Test2.js
Template.Test2.events({
'click button' : function (event, template){
//call some function
}
});
您需要使您的函数成为全局标识符,以便能够跨多个文件调用它:
index.js
// Some function
somefunction = function(){
return true;
};
在 Meteor 中,变量默认是文件范围的,如果你想将标识符导出到全局命名空间以便在你的项目中重用它们,你需要使用这个语法:
myVar = "myValue";
在 JS 中,函数是可以存储在常规变量中的文字,因此语法如下:
myFunc = function(){...};
如果你不想乱丢全局名称-space你可以创建单独的文件:
imports/functions/somefunction.js
export function somefunction(a,b) {
return a+b;
}
并在模板逻辑中导入它并以这种方式使用:
client/calculations.js
import { somefunction } from '../imports/functions/somefunction.js'
Template.calculations.events({
'click button' : function (event, template){
somefunction();
}
});
也许这不是您想要的,因为在这种情况下您应该在任何模板中追加导入,但是避免使用全局变量是一个很好的做法,并且您可能不想在其中使用相同的函数任意 模板。
它不需要位于代码的任何特定部分。如果它在另一个文件中,对于全局函数,即 global.js 只需从模板 .js 文件中导入它并像往常一样调用它。
如何为 Meteor 中的所有模板创建一个函数?
index.js
// Some function
function somefunction(){
return true;
}
Test1.js
Template.Test1.events({
'click button' : function (event, template){
//call somefunction
}
});
Test2.js
Template.Test2.events({
'click button' : function (event, template){
//call some function
}
});
您需要使您的函数成为全局标识符,以便能够跨多个文件调用它:
index.js
// Some function
somefunction = function(){
return true;
};
在 Meteor 中,变量默认是文件范围的,如果你想将标识符导出到全局命名空间以便在你的项目中重用它们,你需要使用这个语法:
myVar = "myValue";
在 JS 中,函数是可以存储在常规变量中的文字,因此语法如下:
myFunc = function(){...};
如果你不想乱丢全局名称-space你可以创建单独的文件:
imports/functions/somefunction.js
export function somefunction(a,b) {
return a+b;
}
并在模板逻辑中导入它并以这种方式使用:
client/calculations.js
import { somefunction } from '../imports/functions/somefunction.js'
Template.calculations.events({
'click button' : function (event, template){
somefunction();
}
});
也许这不是您想要的,因为在这种情况下您应该在任何模板中追加导入,但是避免使用全局变量是一个很好的做法,并且您可能不想在其中使用相同的函数任意 模板。
它不需要位于代码的任何特定部分。如果它在另一个文件中,对于全局函数,即 global.js 只需从模板 .js 文件中导入它并像往常一样调用它。