有人能给我一个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'));
答案 0 :(得分:3)
您错误地使用了findWidgets()
。根据API,它最多接受两个参数:
root
- 要搜索的DOMNode
和skipNode
- 不在(可选)下搜索的节点。您正在使用字符串调用它,该字符串将返回一个空列表。相反,传入要用于定位窗口小部件的任何节点的DOMNode
。例如,如果您想使用myTextBox
,那就是您要做的事情:
console.log(registry.findWidgets(dom.byId("root")));
请注意,这只会返回第一级小部件 - 它不会递归地下降到小部件结构中。如果要下载窗口小部件树,则必须自行实现。