Javascript registry.byID set content返回无法获取属性';设置';指未定义的或空的引用
试图使用registry.byId设置内容窗格的内容,但无法获取对象--出现以下错误: JavaScript运行时错误:无法获取未定义或空引用的属性“set” 我的代码如下:Javascript registry.byID set content返回无法获取属性';设置';指未定义的或空的引用,javascript,dojo,Javascript,Dojo,试图使用registry.byId设置内容窗格的内容,但无法获取对象--出现以下错误: JavaScript运行时错误:无法获取未定义或空引用的属性“set” 我的代码如下: require(["dojo/parser", "dojo/dom", "dijit/registry", "dojox/layout/ContentPane", "dojo/domReady!"], function (parser, dom, registry) { parser.parse(); regis
require(["dojo/parser", "dojo/dom", "dijit/registry",
"dojox/layout/ContentPane", "dojo/domReady!"],
function (parser, dom, registry) {
parser.parse();
registry.byId("Content").set("content", "Test Content");//Content ID is not being found
});
</script>
<div data-dojo-type="dijit/layout/BorderContainer" id="Main" style="width: 100%; height: 100%">
<div data-dojo-type="dojox/layout/ContentPane" id="TOC" data-dojo-props="splitter: true, region:'leading'">
TOC
</div>
<div data-dojo-type="dojox/layout/ContentPane" id="Content" data-dojo-props="splitter: true, region:'center'">
</div>
require([“dojo/parser”、“dojo/dom”、“dijit/registry”,
“dojox/layout/ContentPane”、“dojo/domReady!”],
函数(解析器、dom、注册表){
parser.parse();
registry.byId(“Content”).set(“Content”,“Test Content”);//找不到内容ID
});
TOC
有什么想法吗?谢谢 我认为小部件正在创建过程中,当您调用registry.byId()调用时,它们还没有准备好 您需要通过包含“dojo/ready”模块在ready()调用中添加初始化代码
require(["dojo/parser", "dojo/dom", "dijit/registry", "dojo/ready",
"dojox/layout/ContentPane"],
function (parser, dom, registry, ready) {
parser.parse();
ready( function(){
// your code goes here.
registry.byId("Content").set("content", "Test Content");
});
}
});
值得注意的是,自从dojo 1.8以来,
parser.parse()
调用返回一个函数,因此建议使用
parser.parse().then(function(){
registry.byId('content'.set('content','test content');
});
不过,使用dojo/ready应该可以达到同样的效果