Как настроить элемент представления для приложения.шаблон hbs?


В приложении, созданном ember-cli, html, созданный приложением.hbs завернут в вид:

<body class="ember-application">
  <div id="ember284" class="ember-view">
  </div>
</body>

Если я создаю компонент, у меня есть имя компонента.JS файл, в котором я могу указать параметры для изменения компонента:

export default Ember.Component.extend({
  tagName: 'nav',
  classNames: ['main-menu'],
  layout: layout
});

Как изменить атрибуты элемента, который оборачивает приложение.шаблон hbs?

2 3

2 ответа:

Создайте файл в каталоге app/views, который следует условию именования ., application.js

import Ember from "ember";

export default Ember.View.extend({
  classNames: ['my-app-view']
  // this is the application view
});

Теперь убедитесь, что он работает, проверив ваш html:

<body class="ember-application">
  <div id="ember287" class="ember-view my-app-view">
    <h2 id="title">Welcome to Ember.js</h2>
  </div>
</body>

Прямой доступ Ember.View устарел, начиная с версии 2.x. Что они сделали, так это преобразовали Ember.View в абстрактный класс. Теперь вы должны использовать Ember.Component. В качестве короткого пути, вы можете попробовать что-то вроде этого:

// app/views/application.js
import Ember from 'ember';

export default Ember.Component.extend({
  classNames: ['customClassName']
});