【问题标题】:Appending ember.js view leaves <script> tags that make it invisible附加 ember.js 视图会留下 <script> 使其不可见的标签
【发布时间】:2012-04-18 02:55:07
【问题描述】:

我正在使用通过 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>

我做错了什么?

【问题讨论】:

  • (edge ember.js 似乎也会发生)
  • 能否提供更多代码? (AJAX调用返回的模板,以及在客户端的存储方式)
  • 抱歉 - 它不返回模板,而是返回与 ember 应用程序的其余部分一起预交付的模板的 templateName。我将添加该数据结构。

标签: ember.js handlebars.js


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-03-06
    • 1970-01-01
    • 1970-01-01
    • 2019-02-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多