我已经知道现在支持在/ components中包含目录/文件夹。使用ember-cli我可以生成所需的必要子目录/组件。但是,我似乎无法引用该组件。
例如,如果我是这样的文件夹结构:
app/components/sub/test-comp.js
app/templates/components/sub/test-comp.hbs
引用:(在另一个.hbs文件中)
{{test-comp model=model}}
给了我以下错误:
A helper named 'test-comp' could not be found
ember:1.10.0
ember-cli:0.2.0
答案 0 :(得分:18)
您需要使用组件的完整路径:
{{sub/test-comp model=model}}
编辑:关于Leo所涉及的问题,结果证明它是一个发电机问题。组件生成器创建如下内容:
import Ember from 'ember';
import layout from '../templates/components/sub/foo-bar';
export default Ember.Component.extend({
layout: layout
});
据我所知,没有理由像这样导入布局。除非发生重大变化,否则会自动发现组件布局(如果您使用默认命名约定)。我不知道它为什么这样做(可能是一个bug),但你可以通过删除这样的导入来修复它:
import Ember from 'ember';
export default Ember.Component.extend({
});
编辑2:看起来像this is a known issue。我仍然不知道为什么有必要手动导入布局,因为没有它,组件应该可以正常工作。