所以我問了一個較早的問題(Original Question)。我得到了一個很好的答案,完全符合我的想法。但是,由於我是Javascript/Dojo的新手,我無法完全理解它,而且這個問題的回答者也不是。DOJO:功能參數說明
我的問題是:下面的代碼是如何工作的?
dndController: function(arg, params){
return new dijit.tree.dndSource(
arg, // don't mess up with the first parameter
dojo.mixin({}, params, {copyOnly:true}))
//create a copy of the params object, but set copyOnly to true
}
所以最讓我煩惱的是「args」和「params」參數。我不明白他們來自哪裏以及他們的意思或代表。 (如果需要更多的代碼上下文,我可以稍後編輯問題,所以只需將它發佈在註釋中)。另外,爲什麼我不能直接使用new dijit.tree.dndSource
,爲什麼我需要使用函數來返回它?
謝謝
尋找任何調用'dndController'。你可能會*直接使用'new ...',但是它更短? –
它看起來像它在樹的構造函數中。我正在覆蓋樹的聲明中的默認dndController。 – hbhakhra
看起來Dojo使用'dndController'作爲擴展點以允許任意的'dndSource'定義。這裏你使用的是stock'tree.dndSource'。所以'this'參數將是樹本身,它是'tree.dndSource'所要求的,所以它的實現可以被任意樹使用。 –