可能已经有了一个问题/答案,但我似乎无法找到它。
我在 components / blah-component.js 和 templates / components / blah-component.hbs 中定义了一个组件。
我需要以编程方式创建组件并将其内容附加到DOM。我成功地做了 .create(),但似乎无法从.hbs文件中自动加载组件的模板:
import Ember from 'ember';
import SrField from 'frontend/components/reports/sr-field';
...
const srField = SrField.create();
const el = document.createElement('div');
srField.appendTo(el);
这里生成的html只是一个空div。
我可以通过设置布局来指定模板:
layout: Ember.Handlebars.compile('Blah')
但如何从.hbs文件加载模板?
更新:
我想我明白了。我可以将模板文件导入到组件中,并将其用作布局属性:
import FieldTemplate from 'frontend/templates/components/reports/sr-field';
export default Ember.Component.extend({
layout: FieldTemplate,
更新2:
我可以导入模板,如上面的UPDATE所述,或者在属性中创建它。行动很好。但是存在一个问题:找不到该模板中引用的任何其他组件:
Assertion Failed: A helper named 'autoopen-modal' could not be found
更新3:
将此问题标记为重复,以便将人们引荐到我的另一个不同但相关的问题,其解决方案 - Ember Wormhole - 可以在这里使用。