【发布时间】:2011-09-15 00:29:25
【问题描述】:
所以我问了一个较早的问题 (Original Question)。我得到了一个很好的答案,正是我想要的。但是,由于我是 Javascript/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”参数。我不明白它们来自哪里以及它们的含义或代表什么。 (如果代码需要更多上下文,我可以稍后编辑问题,所以只需将其发布在 cmets 中)。另外,为什么我不能直接使用new dijit.tree.dndSource,为什么我需要使用函数来返回它?
谢谢
【问题讨论】:
-
寻找任何呼叫
dndController。您可能可以直接使用new ...,但哪个更短? -
它似乎在树的构造函数中。我在树的声明中覆盖了默认的 dndController。
-
Dojo 似乎使用
dndController作为扩展点,以允许任意dndSource定义。在这里,您使用的是股票tree.dndSource。所以thisarg 参数将是树本身,tree.dndSource需要它,因此它的实现可以被任意树使用。
标签: javascript function dojo