requirejs / backbone : 声明一个全局函数/变量
requirejs / backbone : declare a global function / variable
是否可以在 backbone / marionnette 应用程序中声明一个 全局函数,调用精确模块的函数?
这个问题可能听起来很奇怪,因为我个人建议根本不要这样做,因为使用模块很棒并且可以保持应用程序结构整洁。我需要一个全局函数,因为在我的应用程序的所有单个视图/模板中,我到处都在使用一个模块/函数。函数是lang.item()。例如:
lang.item(ID, p1, p2, p3, ... )
我到处都用这个,有一个我称之为 "lang" 的模块。示例:
define([ 'backbone', 'lang'], function(Backbone, lang){
return Backbone.View.extend({
...
template: _.template('<%= lang.item("welcome") %> <%=username%>'),
onError: function(){
this.ui.error.html(lang.item('wrong_login'));
}
...
});
});
我总是必须包含 "lang" 模块,这样我才能使用它。因为我调用它并在任何地方使用它,所以我喜欢在任何需要的地方使用像 lang(ITEM_ID) 这样的简单全局函数,而不必包含"lang" 模块每次。
define(['Backbone'], function(Backbone){
return Backbone.View.extend({
...
template: _.template('<%= lang("welcome") %> <%=username%>'),
onError: function(){
this.ui.error.html(lang('wrong_login'));
}
...
});
});
有人有解决办法吗?
我建议在您的 main
javascript 文件中使用它,供 requireJS
使用:
define('init', function (require) {
...
window.lang = require('lang');
...
});
// Initialize the application.
require(['init']);
就我个人而言,我不认为这有违任何编码标准。让我知道它是否有效。
是否可以在 backbone / marionnette 应用程序中声明一个 全局函数,调用精确模块的函数?
这个问题可能听起来很奇怪,因为我个人建议根本不要这样做,因为使用模块很棒并且可以保持应用程序结构整洁。我需要一个全局函数,因为在我的应用程序的所有单个视图/模板中,我到处都在使用一个模块/函数。函数是lang.item()。例如:
lang.item(ID, p1, p2, p3, ... )
我到处都用这个,有一个我称之为 "lang" 的模块。示例:
define([ 'backbone', 'lang'], function(Backbone, lang){
return Backbone.View.extend({
...
template: _.template('<%= lang.item("welcome") %> <%=username%>'),
onError: function(){
this.ui.error.html(lang.item('wrong_login'));
}
...
});
});
我总是必须包含 "lang" 模块,这样我才能使用它。因为我调用它并在任何地方使用它,所以我喜欢在任何需要的地方使用像 lang(ITEM_ID) 这样的简单全局函数,而不必包含"lang" 模块每次。
define(['Backbone'], function(Backbone){
return Backbone.View.extend({
...
template: _.template('<%= lang("welcome") %> <%=username%>'),
onError: function(){
this.ui.error.html(lang('wrong_login'));
}
...
});
});
有人有解决办法吗?
我建议在您的 main
javascript 文件中使用它,供 requireJS
使用:
define('init', function (require) {
...
window.lang = require('lang');
...
});
// Initialize the application.
require(['init']);
就我个人而言,我不认为这有违任何编码标准。让我知道它是否有效。