附加ember.js视图会留下<script>标签,使其不可见</script>

时间:2012-04-18 02:55:07

标签: ember.js handlebars.js

我正在使用通过AJAX请求返回的templateName动态创建一个ember.js视图:

[{"templateName":"ember/templates/questions/goal/goalType"}]

并将其作为Ember视图添加到列表元素中,如下所示:

attachQuestionView: function() {

  if (this.questionView != null) {
    this.questionView.remove();
  }

  this.questionView = Ember.View.create({
    templateName: Azul.questionCarouselController.get("current").templateName
  });

  this.questionView.appendTo('#question_li');
},

这似乎几乎完美无缺。它会引入当前问题的模板并将其附加到列表元素,但会在其周围留下手柄脚本标记,这会使其按照用户代理样式隐藏:

<li id="question_li">
    <div id="ember398" class="ember-view">
    </div>
    <div id="ember424" class="ember-view">
      <script type="text/x-handlebars">
         <div id="ember448" class="ember-view">
           <div class="btn-group" data-toggle="buttons-radio">
             <a href="#" class="btn" data-bindAttr-8="8" data-ember-action="9">Option A</a>
             <a href="#" class="btn active" data-bindAttr-10="10" data-ember-action="11">Option B</a>
           </div>
         </div>
      </script>
   </div>
</li>

我做错了什么?

1 个答案:

答案 0 :(得分:2)

实际模板是什么样的(模板/问题/目标/ goalType.handlebars)?看起来你正在做的事情是正确的,所以它让我相信你的.handlebars文件中有脚本标记,你不应该这样做。

如果您直接在HTML文件中定义模板,则只需要<script type="text/x-handlebars"></script>