2014-10-06 3 views
29

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

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

ember new my-new-app 
ember server 

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

{{content-for 'head'}} 

в приложение/index.html работает?

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

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

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

(в приложении/index.html, {{контент для 'головы'}} помещаются внутри головки тега)

ответ

25

Это недавно было добавлено в уголек-кли на основе this discussion ,

Вот соответствующий код из 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

Для получения дополнительного контекста см. Https://www.npmjs.org/package/ember-cli-inline-content – aceofspades

19

От 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 хелперов.

Смежные вопросы