过去1个月我一直在使用Yeoman余烬生成器,现在,我想尝试一下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在某处写了吗?它在哪里以及它的用途是什么?
此外,当我检查my-new-app页面的元素时,“欢迎使用Ember.js”的div标签为'出现在身体标签而不是头部标签?怎么可能? {{心吹}}
(在app / index.html中,{{content-for' head'}}放在head标签内)
答案 0 :(得分:25)
最近基于this discussion将其添加到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');
};
答案 1 :(得分:21)
应用程序/ index.html的
app/index.html
文件为您的应用奠定了基础。 这是布局基本DOM结构的地方,title属性 已设置并且样式表/ javascript包含已完成。此外 这个,app/index.html
包含多个钩子 -{{content-for 'head'}}
和{{content-for 'body'}}
- 可以由Addons使用 将内容注入您的应用程序的head
或body
。这些钩子 需要留在原地,以使您的应用程序正常运行, 但除非你直接使用,否则可以安全地忽略它们 特别是插件。
我实际上是在寻找Welcome to Ember.js
来自哪里(显然位于app\templates\application.hbs
),但首先偶然发现了content-for
个助手。