Ember 个子目录中的组件
Ember components in subdirectory
我了解到现在支持在 /components 中包含 directories/folders。使用 ember-cli 我可以生成所需的 subdirectory/component。但是,我似乎无法引用该组件。
例如,如果我的文件夹结构如下:
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
您需要使用组件的完整路径:
{{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
});
据我所知,没有理由导入这样的布局。除非发生重大变化,否则会自动发现组件布局(如果您使用的是默认命名约定)。我不知道它为什么这样做(可能是一个错误),但你可以通过删除导入来修复它:
import Ember from 'ember';
export default Ember.Component.extend({
});
编辑 2:看起来像 this is a known issue。我仍然不知道为什么需要手动导入布局,因为没有它组件应该可以正常工作。
我了解到现在支持在 /components 中包含 directories/folders。使用 ember-cli 我可以生成所需的 subdirectory/component。但是,我似乎无法引用该组件。
例如,如果我的文件夹结构如下:
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
您需要使用组件的完整路径:
{{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
});
据我所知,没有理由导入这样的布局。除非发生重大变化,否则会自动发现组件布局(如果您使用的是默认命名约定)。我不知道它为什么这样做(可能是一个错误),但你可以通过删除导入来修复它:
import Ember from 'ember';
export default Ember.Component.extend({
});
编辑 2:看起来像 this is a known issue。我仍然不知道为什么需要手动导入布局,因为没有它组件应该可以正常工作。