【发布时间】:2015-04-30 17:17:15
【问题描述】:
我有一个带有组件的基本 ember cli 应用程序,我想根据传递给它的属性为组件指定不同的 layoutName。我不确定如何实现这一目标。现在我只想知道如何为已知模板指定一个模板名来开始。这是我尝试过的:
import Ember from 'ember';
export default Ember.Component.extend({
layoutName: null,
initialize: function() {
this.set('layoutName', 'pi/pods/components/questions/single-select/standard-layout');
}.on('init')
});
我的文件夹结构如下:
app
|-pods
|-components
|-questions
|-single-select
|-component.js
|-template.hbs//just has {{yield}}
|-standard-layout.hbs//says hello
只是一个想法:这本身可能是一个新问题 - 在我们使用 jsbin 进行协作之前,但现在我们在使用 ember-cli 构建东西时如何实现相同的目标!!
解决方案: 根据@sunrize920 的建议,我不得不稍微突破 POD 结构。所以工作解决方案如下所示:
import Ember from 'ember';
export default Ember.Component.extend({
layoutName: null,
initialize: function() {
this.set('layoutName', 'components/questions/single-select/standard-layout');
}.on('init')
});
然后我的文件夹结构如下:
dev-folder
|-app
|-pods
|-components
|-questions
|-single-select
|-component.js
|-standard-layout
|-template.hbs
【问题讨论】: