dojo.connect VS <script type="dojo/connect"> (DojoML)
Posted
技术标签:
【中文标题】dojo.connect VS <script type="dojo/connect"> (DojoML)【英文标题】: 【发布时间】:2011-08-05 08:11:01 【问题描述】:
首先我想说我是 DOJO 世界的新手,可能对某些人来说
问题很愚蠢:)。但也有人说没有愚蠢的问题。
这是我的问题:
我有一个与 DojoML 相关的快速问题(更准确地说是<script type="dojo/connect">
)。
在这里的一个例子:http://dojotoolkit.org/reference-guide/dijit/Tree.html
我们得到了这样的东西:
<script type="dojo/connect">
var menu = dijit.byId("tree_menu");
menu.bindDomNode(this.domNode);
dojo.connect(menu, "_openMyself", this, function(e)
var tn = dijit.getEnclosingWidget(e.target);
menu.getChildren().forEach(function(i)
i.attr('disabled', !tn.item.children);
);
);</script>
现在我想将它翻译成“传统”脚本。 正如我在这里读到的:http://dojocampus.org/content/2008/08/09/dojoml-the-best-thing-since-sliced-bread/ 这样的 DojoML 表示法可以翻译成:
dojo.connect(oMyTree, 'postCreate', null, function());
我的问题是这是否是正确的“翻译”,因为它根本不起作用。 我的目标是为每个 MyTree 的节点附加一个简单的右键菜单。
【问题讨论】:
这很简单 :) 我们只需要调用一次:oMenu.bindDomNode(oTree.domNode);
就是这样。
我读过一些我喜欢的地方。
【参考方案1】:
我读过一些我喜欢的地方。一旦包含它们的小部件被实例化,这种脚本就会运行。基本上会将一个额外的处理程序附加到 postCreate。但是,如果您这样做,您将删除默认的 postCreate 并运行您的 postcreate 处理程序。
【讨论】:
以上是关于dojo.connect VS <script type="dojo/connect"> (DojoML)的主要内容,如果未能解决你的问题,请参考以下文章