2013-08-26 54 views
5

为了动态地改变诸如标题标签,meta标签,外部css样式表和favicon图标,是否有可能使ember(特别是应用程序模板)在head标签内部运行?Ember Handlebars模板<head>标签

如果是这样,干净的做法是什么?

+1

好奇这一点。在angular.js中,它简单得像'' – Donut

+0

使用它简单易用, 'document.getElementsByTag(“head”)。innerHTML + =“”;'这可以通过原始JavaScript所以为什么要依靠任何库:) – MarmiK

+2

@MarmiK他要求一个“干净”的方式:P – albertjan

回答

10

为了使这项工作,我做了什么是我创建了手柄助手。例如,如果你想改变很常见的视图标题,这里是助手。

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

现在任何视图模板,你可以只添加辅助

{{headTitle 'View Header'}} 

这里是JSbin检查其工作

+1

你应该使用'Ember。$'。但否则很好的黑客。 – albertjan

+0

按照您的建议修改了我的答案..感谢 – thecodejack

+0

它会更新社交网站引擎的元标记,例如fb,twitter和google吗? –