define(["dojo/_base/declare"], function (declare) {
// module:
// StyleNames
// summary:
// Style element names.
var StyleNames = declare(null,
{
PROP1: "Style1",
PROP2: "Style2"
}
);
StyleNames.dataContexts = [
StyleNames.PROP1,
StyleNames.PROP2,
];
return StyleNames;
});
var styleNames = new StyleNames();
console.log("PROP1 is defined as: ", styleNames.PROP1); // prints "Style1"
console.log("dataContexts is undefined: ", styleNames.dataContexts); // Error: styleNames.dataContexts is undefined
私のセットアップはhttps://stackoverflow.com/a/11329956/1610451に似ていましたが、DOM を見ると、styleNames.constructor.dataContexts
未定義の値を持つコンストラクターに設定されていることがわかります。
バックストーリー: ActionScript コードを JavaScript に移植していて、既存のインターフェイスを維持する必要があります。私が移植している ActionScript コードの例は次のとおりです。
public class StyleNames {
public static const PROP1 : String = "Style1";
public static const PROP2 : String = "Style2";
public static const dataContexts : Array = [
PROP1,
PROP2
];
public function StyleNames(){}
}