在HTML页面中定义的自定义窗口小部件使用href加载为dojox.layout.contentpane并作为标签页插入而不解析自定义窗口小部件

时间:2014-04-23 12:34:08

标签: javascript dojo

在使用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解析器不会解析自定义窗口小部件,如上面的代码所示。

这是不是意味着,自定义窗口小部件不能用于这种类型的加载,或者我是否缺少额外的东西以强制解析器工作?我尝试在加载,下载,下载启动,准备好的事件上运行解析器,但没有运气。

任何帮助都将不胜感激。

1 个答案:

答案 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();
    }
}));