// Load the dom module
require(["dojo/dom"], function(dom){
});
我知道當dom模塊被加載時調用該函數,但我不清楚函數中的代碼是什麼。它是我的頁面上所有javascript代碼的容器嗎?dojo需要什麼功能?
// Load the dom module
require(["dojo/dom"], function(dom){
});
我知道當dom模塊被加載時調用該函數,但我不清楚函數中的代碼是什麼。它是我的頁面上所有javascript代碼的容器嗎?dojo需要什麼功能?
該函數是回調函數,當加載器加載所有你需要的模塊時會調用它。
如果我有
require(["dojo/_base/ready", "dojo/_base/declare"], function(ready, declare) {
// do something with declare and ready
});
AMD將會加載準備和申報。這可能需要AMD向服務器進行異步回調。一旦AMD加載模塊,它會調用您傳遞給require
方法的函數。
我的回答在Dojo Builds...? What now?有關於AMD API的更多細節。
回答評論中的問題。以下兩條語句可以位於頁面上的任何位置。
<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-28 15:45:29
是的。你可以閱讀require方法調用,因爲「這些是我需要的模塊,當你(AMD)加載它們時,這就是我想要做的(函數) – 2013-02-28 15:56:19
但是我的頁面有很多任務需要完成。我必須一次又一次地爲不同的任務需要相同的模塊嗎? - sly_Chandan 5分鐘前 – 2013-02-28 16:09:19
還請參閱[上requirejs.org文章](http://requirejs.org/docs/why.html) – McDowell 2013-03-01 11:13:28