emberjs将body或id添加到body标签中

时间:2014-05-12 16:18:17

标签: javascript ember.js

我已经阅读了这个SO post关于如何将带有类的标签添加到视图中,即::

App.ApplicationView = Ember.View.extend
  name: 'Home',
  layoutName: 'layouts/application',
  templateName: 'views/home'
  tagName: 'div'
  elementId: 'home'

但是,有没有办法调整应用程序设置,即::

window.App = Ember.Application.create
    Store: DS.Store.extend
        revision: 10,
        adapter: DS.fixtureAdapter

配置"类"或" id"附在身体标签上?

当前的灰烬设置:

DEBUG: ------------------------------- 
DEBUG: Ember      : 1.5.1 ember.js?body=1:3522
DEBUG: Handlebars : 1.3.0 ember.js?body=1:3522
DEBUG: jQuery     : 2.1.1 ember.js?body=1:3522
DEBUG: ------------------------------- 

当前来源视图:

<body class="ember-application" data-ember-extension="1">
<div id="home" class="ember-view">
<h1>Ember Layout</h1>
<h1>Home View</h1>
</div>
</body>

我会注意到我正在为我的车把模板使用会徽,并且在应用程序布局中设置了正文。

2 个答案:

答案 0 :(得分:1)

您的身体标签不是由Ember创建的,只需将其放入您的HTML中。

<body id='foo' class='bar'></body>

此外,从Ember Data 1.0 beta 1开始,您不再创建商店,您应该只定义适配器。见https://github.com/emberjs/data/blob/master/TRANSITION.md

我只是将ember附加到body元素内部的div而不是body。

<body class='foo'>
  <div id='putEmberHere'></div>
</body>

App = Ember.Application.create({
  rootElement: '#putEmberHere'
});

答案 1 :(得分:0)

在阅读add-css-classes-to-body-in-ember-jsjquery attr id之后,我选择了这个解决方案:

App.ApplicationRoute = Ember.Route.extend
  activate: ->
    this._super();
    document.title = Ember.get('App.var_page_default_title')
    $('body').attr id: 'view_home'