1

dojo 1.6 までは、次のように public 定数を定義していました。

dojo.declare('x.y.Z', null, { ... });

x.y.Z.constant = 100;

このようにして、クラスをインスタンス化せずに他のコードからアクセスできます。

Dojo 1.7 以降、ウィジェットの名前が変更されたり、移動されたりする可能性があります。したがって、コード内で絶対モジュール ID を使用しないでください。

そのような定数を定義する良い方法は何でしょうか?

4

2 に答える 2

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"
});
于 2013-04-10T01:16:23.250 に答える
-1

window オブジェクト内にオブジェクトを作成します。

window.myConstants={};
window.myConstants.c1=100;

myConstants オブジェクトはグローバル オブジェクトであるため、コード内のどこからでもアクセスできます。

JavaScript には実際の定数はありません。

于 2013-04-09T08:04:07.113 に答える