2013-07-26 64 views

回答

0

通常情況下。由於Dojo 1.7改變了很多語法(與回調變爲異步)。還有一些遺留代碼可以生成舊代碼(從1.6開始)。

一個例子,如果你有一個名爲my.old.code像這樣(1.6代碼樣式)代碼模塊:

require(["my/old/module"], function(oldModule) { 
    console.log(oldModule.add(5, 3)); // Returns 8 
}); 

dojo.declare("my.old.module", null, { 
    add: function(a, b) { 
     return a + b; 
    } 
}); 

您仍然可以利用它在1.8,例如

如果你沒有在單獨的文件中創建你的模塊,也可能因爲你只是有一個對象的引用,例如:

var oldModule = dojo.declare("my.old.module", null, { 
    add: function(a, b) { 
     return a + b; 
    } 
}); 

console.log(oldModule.add(5, 3)); // Returns 8 

BE AWARE:在Dojo 2.0中,遺留代碼可能會消失,因此如果您希望使用新版本的Dojo,請考慮更新代碼。

+0

非常感謝您的回覆!跟隨你的答案,似乎1.6的模塊已成功加載。但dojo.provide(xxx)用於Dojo 1.6的模塊,所以會提示一個錯誤:dojo沒有定義。 – Biao

相關問題