1
// Load the dom module
require(["dojo/dom"], function(dom){
});

dom モジュールがロードされたときに関数が呼び出されることは理解していますが、関数内のコードがどうなるかはわかりません。ページ上のすべての JavaScript コードのコンテナですか?

4

1 に答える 1

7

この関数は、必要なモジュールをすべてロードしたときに AMD ローダーが呼び出すコールバックです。

私が持っている場合

require(["dojo/_base/ready", "dojo/_base/declare"], function(ready, declare) {

  // do something with declare and ready

});

AMD はロード準備完了と宣言を行います。これには、AMD がサーバーへの非同期コールバックを行う必要がある場合があります。AMD がモジュールをロードすると、メソッドに渡された関数が呼び出されますrequire

Dojo Buildsでの私の答えは...?今何?AMD API の詳細がいくつかあります。


コメントの質問に答えます。次の 2 つのステートメントは、ページのどこにでも置くことができます。

<script type="text/javascript">
require(["dojo/_base/ready", "dojo/_base/declare"], function(ready, declare) {
   // do something with declare and ready
});
</script>

<script type="text/javascript">
require(["dojo/_base/ready", "dojo/_base/declare", "dijit/form/Button"], 
   function(ready, declare, Button) {
     // Assuming this is the second statement to be executed, AMD will 
     // realize that ready and declare have previously been loaded,
     // so it will use the previously loaded modules, load the Button module, 
     // and then execute the callback

     // do something with declare, ready, and Button
});
</script>
于 2013-02-28T11:43:17.760 に答える