直到dojo 1.6我用来定义这样的公共常量:
dojo.declare('x.y.Z', null, { ... });
x.y.Z.constant = 100;
通过这种方式,可以从其他代码访问它们,而无需实例化类。
自dojo 1.7以来,我的小部件可能会被重命名或移动。所以我不应该在我的代码中使用绝对模块ID。
定义这样一个常量的好方法是什么?
答案 0 :(得分:2)
如果您尝试将其附加到已定义的窗口小部件类,则可以执行以下操作:
define(["dojo/_base/declare"], function(declare) {
var MyWidget = declare([], {
//Define your widget as usual
});
MyWidget.someConstant = "42";
return MyWidget;
});
现在你可以像这样使用它:
require(["MyWidget"], function(MyWidget) {
console.debug(MyWidget.someConstant); // Prints out "42"
});
答案 1 :(得分:0)
我会在window对象中创建一个对象:
window.myConstants={};
window.myConstants.c1=100;
您可以从代码中的任何位置访问myConstants对象,因为它是一个全局对象。
javascript中没有真正的常量。