2014-10-06 13 views
29

Używam generatora Emmy Yeomana przez ostatnie 1 miesiąc, a teraz chciałbym spróbować ember-cli.{{content-for 'head'}} Ember-cli

Uruchamiam generator i uruchamiam aplikację, wszystko działa poprawnie.

ember new my-new-app 
ember server 

ale chciałbym wiedzieć, w jaki sposób

{{content-for 'head'}} 

w app/index.html prac?

Patrząc na inne przykłady z http://www.ember-cli.com/#tutorials, żaden z nich nie używa tego konkretnego pomocnika? Czy to dlatego, że używają starszej wersji ember-cli? Dlaczego nie używali tej treści - dla pomocnika?

Jestem prawie pewny, że ember.js nie ma tej zawartości - domyślnie dla pomocnika, więc domyślam się, że ember-cli napisał to gdzieś? Gdzie to jest i do czego służy?

Ponadto, gdy sprawdzam element strony my-new-app, tag div "Welcome to Ember.js" pojawił się przy tagu body zamiast tagu head? Jak to możliwe? {{Umysł dmuchane}}

(APP/index.html {{treści do 'głowy'}} jest umieszczony wewnątrz głowicy tag)

Odpowiedz

25

to niedawno dodano do ember-cli podstawie this discussion .

Oto odpowiedni kod z 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

Dodatkowy kontekst można znaleźć na stronie https://www.npmjs.org/package/ember-cli-inline-content – aceofspades

19

Od Ember CLI guide:

app/index.html

Plik app/index.html stanowi podstawę dla swojej aplikacji. Tutaj jest określona podstawowa struktura DOM, ustawiany jest atrybut tytułu , a następnie włączane są arkusze stylów/javascript. Oprócz wersji ten app/index.html zawiera wiele haków - {{content-for 'head'}} i {{content-for 'body'}} - które mogą być używane przez dodatki do wstrzyknięcia zawartości do aplikacji użytkownika head lub body. Te haczyki należy pozostawić na miejscu, aby aplikacja działała prawidłowo, , ale można je bezpiecznie zignorować, chyba że pracujesz bezpośrednio z określonym dodatkiem.

I faktycznie szuka gdzie Welcome to Ember.js pochodzi (co jest oczywiście w app\templates\application.hbs), ale pierwszy natknął content-for pomocników.

Powiązane problemy