我正在使用通过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>
我做错了什么?
答案 0 :(得分:2)
实际模板是什么样的(模板/问题/目标/ goalType.handlebars)?看起来你正在做的事情是正确的,所以它让我相信你的.handlebars文件中有脚本标记,你不应该这样做。
如果您直接在HTML文件中定义模板,则只需要<script type="text/x-handlebars"></script>
。