有人可以给我一个在dojo 1.7+中的registry.findWidgets()的工作示例吗?
无论我做什么,我都会得到一个空数组。例如:
var myTextBox = new TextBox({
name: "firstname",
value: "",
placeHolder: "type in your name"
}).placeAt("root");
myTextBox.startup();
console.log(registry.findWidgets('root'));
http://jsfiddle.net/FYYqx/1/
最佳答案
您使用的findWidgets()
错误。根据API,它最多接受两个参数:root
-要搜索的DOMNode
,以及skipNode
-不搜索的节点(可选)。
您正在使用字符串进行调用,这将返回一个空列表。而是传递要用于定位小部件的任何节点的DOMNode
。例如,如果要使用myTextBox
,则可以执行以下操作:
console.log(registry.findWidgets(dom.byId("root")));
请注意,这只会返回小部件的第一级-不会递归地下降到小部件结构中。如果要下降小部件树,则必须自己实现。
关于javascript - dojo的registry.findWidgets()的工作示例,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/19299206/