2010-10-01 65 views
3

有沒有一種方法來定義一個dojo /方法以編程方式在JavaScript函數中?編程的Dojo dojo/method?

+1

請問此http:/ /www.sitepen.com/blog/2007/09/21/dojo-09-power-tools-script-typedojomethod/爲你做任何事情? – mplungjan 2010-10-01 09:18:37

回答

8

(相反的聲明性插件內限定它通過腳本類型=「道場/方法」,例如)。只需直接覆蓋它上的窗口小部件。例如,如果您abc寫道:dojo/method,那樣做:

var myWidget = ...; 
myWidget.abc = function(/* args from dojo/method */){ 
    // the body of dojo/method 
}; 
+0

有什麼可以擴展的嗎? – Sevenearths 2011-09-08 16:10:56

+0

@Sevenearths我不知道你的意思。使用dojo/method添加方法與將它們直接添加到對象(在這種情況下爲小部件)等效。如果你不知道如何獲得一個widget對象,只需在HTML中用「id」或「widgetId」命名,當它們被實例化時,調用dijit.byId(「yourWidgetName」)來獲取它。 – 2011-09-09 06:41:04

1

也許在你的情況下,最好的選擇是延長部件的原型,那樣做:

dojo.require("dijit.OneDijit"); 
dojo.extend(dijit.OneDijit, { 
newMethod:function(/* method args */){ 
// body of method 
} 
});