Dijit:为什么我会收到“未捕获的错误:模板无效”?

时间:2012-12-14 17:56:46

标签: dojo

据我所知,我有一个看起来很好的dijit,但每次都会提升Uncaught Error: Invalid template。我一直无法弄明白为什么。所有变量(例如${variableName}都在窗口小部件中正确定义。

这是小部件:

<div class="${classPrefix}-wrapper">
    <div class="${classPrefix} flair" dojoAttachPoint="flairNode"></div>
    <div class="${classPrefix}-count hidden" dojoAttachPoint="countWrapperNode">
        <div class="count" dojoAttachPoint="countNode">0</div>
    </div>
    <div class="${classPrefix} ${secondaryClass} action hidden" dojoAttachPoint="secondaryClickNode" dojoAttachEvent="onclick:_onSecondaryClick">
        <div class="${classPrefix}-inner"></div>
        <div class="${classPrefix}-icon"></div>
    </div>
    <div class="${classPrefix} ${primaryClass} action" dojoAttachPoint="primaryClickNode" dojoAttachEvent="onclick:_onPrimaryClick">
        <div class="${classPrefix}-inner"></div>
        <div class="${classPrefix}-icon"></div>
    </div>
    <div class="${classPrefix}-message hidden" dojoAttachPoint="messageNode"></div>
</div>
<div class="${actionPromptNodeClass}" dojoAttachPoint="actionPromptMessageNode">
    <span dojoAttachPoint="actionPromptMessage">${actionPromptText}</span>
    <span dojoAttachPoint="actionCompletedMessage" class="hidden">${actionCompletedText</span>
</div>

2 个答案:

答案 0 :(得分:7)

找到我的问题的答案。事实证明,Dijit中只能有一个根节点。我在文档but it is at the bottom of this tutorial中错过了这个:

  

常见陷阱

     
      
  • 确保模板中只有一个根节点
  •   
  • 不要使用注释开始或结束模板,因为这意味着您在技术上有两个节点
  •   
  • 避免在模板末尾追踪</div>
  •   

答案 1 :(得分:1)

模板中可能只有一个根元素。将您的模板包装到<div></div>,它应该可以使用。