javascript - Ember.js:内联 Handlebars 模板在应用程序的根元素处呈现

标签 javascript templates model-view-controller ember.js handlebars.js

在我们的页面上,我们有一个与 id“root”的根元素关联的应用程序“Index”。我正在尝试将一个非常简单的 Handlebars 模板插入到内联页面(在此应用程序内部)。

<div id="root">
... 
    <script type="text/x-handlebars"> (this is nested about 5 levels into "root")
      {{foo}}
    <script>
...
</div>

但是,当页面加载时,我发现结果是变形占位符移动成为“root”的第一个子级(即使在标记中,它是相当嵌套的)。

这是怎么回事?无论我将这个内联模板放在哪里,它都会一直到这个地方?如何将其保留在标记中的位置?

最佳答案

脚本模板的位置与其在页面中的放置位置无关。您可以将其添加到文档的头部,并且它也会放置在那里,因为它是 application 模板(由于它未命名)。您的应用程序的结构是使用路由器定义的。

嵌套路由示例:

http://emberjs.jsbin.com/OxIDiVU/151/edit

此外,如果您希望应用程序从不同的元素启动,您可以在应用程序上设置 rootElement

App.rootElement = '#fooId';

根元素示例:

http://emberjs.jsbin.com/bucasumo/1/edit

关于javascript - Ember.js:内联 Handlebars 模板在应用程序的根元素处呈现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23916604/

相关文章:

javascript - 如果至少有一项没有应用特定样式,则执行某项操作

javascript - 在 Sails 中访问 JSON 请求参数

python - 在 QTableView 中显示分层模型项的详细信息

javascript - Javascript什么时候打破了MVC模式

php - 数据访问层,最佳实践

javascript - 使用 JavaScript 切换 Google 字体效果

javascript - FF 3.6 中不显示搜索字段文本?

c++ - C++ 中两个非常相似的类,只有一种不同的方法 : how to implement?

c++ - 将 QWidget 映射到变量

C++,模板化模板规范