Ember 1.11.0-beta"块只能在HTML元素或其他块中使用"错误

Joh*_*erp 4 ember.js ember-cli

我正在尝试使用1.11 beta 4加载一些远程模板,并且当ember-template-compiler尝试编译模板时遇到错误.它抛出"一个块只能在HTML元素或另一个块中使用"异常.我正在编译模板:

var compiledTemplate = Ember.Handlebars.compile(templateText);
Run Code Online (Sandbox Code Playgroud)

谁看过这个吗?模板是:

<p{{#id}} id="{{id}}"{{/id}} data-name="{{name}}" class="flag {{#alert}}{{type}} {{type}}-input{{/alert}} {{styleClass}}{{^alert}} hide{{/alert}}">
  <span{{#id}} id="{{alertSevId}}"{{/id}} class="alertSeverity icon">
    {{#alert}}{{type}}{{/alert}}
  </span>
  <span{{#id}} id="{{alertMsgId}}"{{/id}} class="alertMessage">
    {{#alert}}{{message}}{{/alert}}
  </span>
</p>
Run Code Online (Sandbox Code Playgroud)

Ash*_*non 6

我正在学习Ember,今天我遇到了同样的错误信息, "Error: A block may only be used inside an HTML element or another block."

不过,我正在使用Ember v1.10.

我正在编写一个教程,并注释掉了我的一部分HTML,所以我可以尝试其他的东西:

<script type="text/x-handlebars" data-template-name="logs">
    <section>
        <ul>
            {{#each log in model}}
            <li>{{log.name}}</li>
            {{/each}}
        </ul>

       <!--<ul>-->
       <!--{{#each dev in controller}}-->
       <!--<li>{{dev}}</li>-->
       <!--{{/each}}-->
       <!--</ul>-->
       <!--<button {{action "clickMe"}}Click me!</button>-->
       <!--<p>{{renderedOn}}</p>-->
    </section>
</script>
Run Code Online (Sandbox Code Playgroud)

当我试图查看新的更改时,没有显示任何内容.我确信这是因为我添加了新的无序列表或者我对我的JavaScript所做的更改,但我的错误来源是注释掉的HTML.我删除了它,一切都按预期运行.

我更多地考虑了这种情况,我观察到:

  • 如果我用块语句将代码部分注释掉,而不是行注释按预期工作
  • 如果我离开第一行注释掉的代码并删除其他代码,它会按预期工作

那么,通过消除过程,我发现罪魁祸首正在评论每个帮手:

   <!--{{#each dev in controller}}-->
   <!--{{/each}}-->
Run Code Online (Sandbox Code Playgroud)

我知道这与你的设置并不完全相同,但希望它可以指出你正确的方向来解决你的问题.