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

デフォルトでは、emberbodyをルート要素として使用すると、テンプレートのコンテンツが挿入され、その要素に置き換えられます。したがって、デフォルトでは、ember は単一ページのアプリケーションです。

HTMLの一部だけにemberが必要な場合は、例を使用してください:

Javascript

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 に答える