Подтвердить что ты не робот

{{content-for 'head'}} Ember-cli

Я использую генератор Yeoman ember в течение последних 1 месяца, и теперь, я хотел бы дать ember-cli попробовать.

Я запускаю генератор и запускаю приложение, все работает нормально.

ember new my-new-app
ember server

но я хотел бы знать, как

{{content-for 'head'}}

в app/index.html работает?

Если посмотреть на другие примеры из http://www.ember-cli.com/#tutorials, ни один из них не использует этот конкретный помощник? Это потому, что они используют более старую версию ember-cli? Почему они не использовали этот контент - для помощника?

Я уверен, что у ember.js нет этого содержимого - для помощника по умолчанию, так что я предполагаю, что ember-cli написал его где-то? Где это и для чего?

Кроме того, когда я проверяю элемент страницы моего нового приложения, тег div "Добро пожаловать в Ember.js" появился в теге body вместо заголовка? Как это возможно? {{Ум выдувное}}

(в app/index.html, {{content-for 'head'}} помещается внутри основного тега)

4b9b3361

Ответ 1

Недавно он был добавлен в ember-cli на основе этого обсуждения.

Вот соответствующий код из commit:

EmberApp.prototype.contentFor = function(config, match, type) {
  var content = [];

  if (type === 'head') {
    content.push(calculateBaseTag(config));

    content.push('<meta name="' + config.modulePrefix + '/config/environment" ' +
                 'content="' + escape(JSON.stringify(config)) + '">');
  }

  content = this.project.addons.reduce(function(content, addon) {
    if (addon.contentFor) {
      return content.concat(addon.contentFor(type, config));
    }

    return content;
  }, content);

  return content.join('\n');
};

Ответ 2

Из Ember CLI guide:

приложение/index.html

Файл app/index.html лежит в основе вашего приложения. Здесь выкладывается основная структура DOM, атрибут title установлен, и стили /javascript включены. В дополнении к это, app/index.html включает в себя несколько крючков - {{content-for 'head'}} и {{content-for 'body'}} -, которые могут использоваться Аддонами для вставляйте контент в свои приложения head или body. Эти крючки необходимо, чтобы ваше приложение функционировало должным образом, но их можно безопасно игнорировать, если вы не работаете напрямую с конкретный аддон.

Я действительно искал, откуда Welcome to Ember.js (который, очевидно, находится в app\templates\application.hbs), но сначала наткнулся на content-for помощники.