在给定的HTML标记内包含EmberJS应用程序

时间:2012-07-31 09:57:35

标签: ember.js

HTML

`<script type="text/x-handlebars" data-template-name="application">  
    {{view App.NavbarView}}  
    {{outlet}}  
</script>`  

页脚

JS

`App.ApplicationController = Em.Controller.extend();  
App.ApplicationView = Em.View.extend({  
  templateName: 'application'  
});`  

App.Router = Em.Router.extend({
enableLogging: true,
location: 'hash',

root: Em.Route.extend({
  // EVENTS
  gotoAbout: Ember.Route.transitionTo('about'),

  // STATES
  about: Em.Route.extend({
    route: '/',
    connectOutlets: function (router, context) {
      router.get('applicationController').connectOutlet('about');
    }
  })

我想删除data-template-name="application"因为我想立即在这个代码块的位置(在页眉和页脚之间)显示它。

但是当我删除它并且templateName: 'application'路由器不起作用时。

问题是:如何显示块

<script type="text/x-handlebars" data-template-name="application">  
  {{view App.NavbarView}}  
  {{outlet}}  
</script>
页眉和页脚之间的

我知道我可以写<div id="content"></div>并使用.appendTo("content")但可能存在更优化的方式吗?

1 个答案:

答案 0 :(得分:5)

您是否尝试过设置应用的rootElement属性?

App = Ember.Application.create({
  rootElement: '#app-container'
});

你有一个这个here的例子,你很容易推导出来。