2013-08-26 7 views
5

Czy ember (w szczególności szablon aplikacji) może działać wewnątrz znacznika head, aby dynamicznie zmieniać takie rzeczy, jak tag tytułu, metatagi, zewnętrzne arkusze stylów CSS i favicon?Szablony kierownicy Ember w <head> tag

Jeśli tak, jaki byłby czysty sposób robienia tego?

+1

ciekawi tego, jak dobrze. W angular.js jest to mniej więcej tak proste, jak '' – Donut

+0

używając tego prostego, łatwego, 'document.getElementsByTag (" head "). InnerHTML + =" ";' można to osiągnąć dzięki surowy JavaScript, więc dlaczego polegać na dowolnej bibliotece :) – MarmiK

+2

@MarmiK poprosił o "czysty" sposób: P – albertjan

Odpowiedz

10

Aby to zadziałało, stworzyłem pomocników do kierowania. Na przykład, jeśli chcesz zmienić tytuł widoków, który jest bardzo popularny, tutaj jest pomocnik.

Ember.Handlebars.helper('headTitle', function(title) { 
    Ember.$('head').find('title').text(title); 
}, 'title'); 

teraz w dowolnym szablonie widoku można po prostu dodać pomocnika

{{headTitle 'View Header'}} 

Oto JSbin aby sprawdzić, czy jego pracy

+1

Powinieneś prawdopodobnie użyć 'Ember. $'. Ale poza tym fajny hack. – albertjan

+0

edytowałem moją odpowiedź jak sugerujesz. Dzięki – thecodejack

+0

Czy zaktualizuje metatagi dla silnika strony społecznościowej, takiego jak fb, twitter i google? –