0

我正在尝试在我的 grails 项目中使用 Ember。但是,我遇到了布局问题。ember 模板始终显示在页脚下方。当我不使用 Ember 时,常规 html 不会发生这种情况。

这是我的布局

<html>
 <head>
   <g:layoutHead/>
   <r:require module="application"/>
 </head>

<body>
  <div id="wrap">
    <g:layoutBody/>
    <div id="push"></div>
  </div>
  <div id="footer>
  </div>
  </r:layoutResources/>
</body>
</html>

这是我使用 ember 模板的页面

<html>
<head>
  <meta name="layout" content="main"/>
</head>
<body>
  <script type="text/x-handlebars">
     <h1>test</h1>
  </script>
</body>
</html>

这是我的 applicationresources.groovy

modules = {
    application {
        dependsOn "jquery", "emberjs","emberjsdata"
        resource url:'js/application.js'
        resource url:'js/App.js'
    }

    emberjs {
        dependsOn 'jquery,handlebars'
        resource url: 'js/ember-latest-stable.js'
    }
    handlebars {
        resource url: 'js/handlebars-1.0.0-rc.4.js'
    }
    emberjsdata{
        dependsOn 'emberjs'
        resource url: 'js/ember-data-latest.js'
    }
 }

问题

由于某种原因,hello显示在页脚下方。不知道为什么,因为它适用于纯 html

4

1 回答 1

2

默认情况下,ember 使用body作为根元素,然后模板的内容将被插入并替换到该元素中。所以默认情况下,ember 是一个单页应用程序。

如果您只需要某些 html 的 ember,请通过示例使用:

Java脚本

YourAppNamespace.rootElement = "#myEmberApp";

html

<body>
  <div id="wrap">
    <!-- render normally contents from server -->
    <g:layoutBody/>        
  </div>
  <div id="myEmberApp">
    <!-- all content here is controlled by ember -->
  </div>
  <div id="footer>
    My company all rights reserved
  </div>
  </r:layoutResources/>
</body>

希望能帮助到你

于 2013-08-21T14:56:37.093 回答