在使用tab.addchild
属性创建dojox.layout.contentpane
后,我尝试以编程方式使用href
添加新标签页。
以下是相关代码的示例摘要(tabMain
是页面中的标签控件)
dijit.byId('tabMain').addChild(new dojox.layout.ContentPane({
title: 'My page',
href: 'country.jsp',
closable: true,
parseOnLoad: true,
postCreate: function () {
dojo.parser.parse();
}));
这个country.jsp
有自定义小部件(包含两个标准的dijit小部件)
但是自定义小部件没有被解析,因此我没有正确加载自定义小部件,而country.jsp
中提到的其他标准dijit完全加载。
为了排除我的页面和自定义窗口小部件声明的问题,我将这个自定义窗口小部件直接放在页面中,而不在contentpane / tab中加载(并在对话框页面中加载),它工作正常。因此,我假设当我在内容窗格中加载它时,dojo解析器不会解析自定义窗口小部件,如上面的代码所示。
这是不是意味着,自定义窗口小部件不能用于这种类型的加载,或者我是否缺少额外的东西以强制解析器工作?我尝试在加载,下载,下载启动,准备好的事件上运行解析器,但没有运气。
任何帮助都将不胜感激。
答案 0 :(得分:1)
在不了解DOJO的情况下,您提供的代码段在ContentPane
构造函数调用中缺少一个右括号,使其无效(因此无法解析)。
尝试:
dijit.byId('tabMain').addChild(new dojox.layout.ContentPane({
title: 'My page',
href: 'country.jsp',
closable: true,
parseOnLoad: true,
postCreate: function () {
dojo.parser.parse();
}
}));