我使用 dijit contentpane 作为选项卡。选项卡内容包含我的自定义小部件。在自己的小部件中,我使用 dojo 查询通过小部件的 id 处理第 th 个元素。如果我通过 href: 属性设置选项卡内容,则可以正常工作。但是如果我通过 content: 属性设置选项卡内容,则 dojo 查询找不到第 th 个元素。这会是渲染错误吗?如果我查看我的小部件的 containerNode,那么我会看到第 th 个元素。似乎 dojo 查询找不到我的小部件的 id。有趣的是,我的小部件的其他 html 元素呈现完美。
var tabContainer = registry.byId(data.parent);
var pane = new contentpane({ id:data.id, title:data.title, iconClass:
data.icon, closable: data.closable, style: data.style});
if(data.content){pane.set('content', data.content);}
if(data.href){pane.set('href', data.href);}
tabContainer.addChild(pane);
tabContainer.selectChild(pane);
我通过 dojo.byId 检查我的小部件的状态,如果我使用第一个(设置内容)方法,我的小部件节点未在 dojo 中注册。