我正试图绕过emberjs,我现在的问题是我有以下标记:
<div class="row">
<div class="col-lg-12">
<script type="text/x-handlebars">
Hi, {{name}}!
</script>
</div>
</div>
但ember-view
正在结束</body>
<div id="ember298" class="ember-view">
Hi, Alex!
</div>
</body>
而不是我期待的地方,在div.col-lg-12
内。而我无法理解为什么会这样。我错过了什么?
答案 0 :(得分:1)
您的Handlebars模板应该在HTML的顶层声明,标记在script标签内,而不是相反。例如,像这样:
<body>
<script type="text/x-handlebars" data-template-name="index">
<div class="row">
<div class="col-lg-12">
Hi, {{name}}
</div>
</div>
</script>
</body>
这允许Ember.js正确检测模板并在到达适当的路线时将其填入。查看example JSBin for Ember,您将更好地了解如何编写模板。您可能还想阅读Ember's guide on template basics。
编辑:可能有帮助的事情是要记住Handlebars模板不必进入HTML文件。我把它放在.hbs
文件中并将它们编译为Javascript。 Handlebars脚本标签实际上就是为了方便起见。换句话说,永远不要在标记内添加脚本标记,只需使用Handlebars表达式,Ember就会知道该怎么做。