如何使用Ember CLI在两个组件之间共享模板?

时间:2014-12-12 18:37:36

标签: ember.js ember-cli

我有两个组件:SpecialButtonComponentSpecialButtonDerivativeComponent

SpecialButton组件会自动使用/app/templates/components/special-button.hbs上的模板。

我希望SpecialButtonDerivativeComponent使用相同的模板,但到目前为止我没有运气试图使用这种技术:

// app/components/special-button-derivative.js
import SpecialButtonComponent from './special-button';

export default SpecialButtonComponent.extend({
  templateName: 'components/special-button'
});

我还尝试使用layoutName代替templateName,但仍然没有运气。有什么想法吗?

2 个答案:

答案 0 :(得分:6)

组件没有templateName

我会尝试将layout设置为null,然后指定layoutName

答案 1 :(得分:0)

Ember 2.2layoutName成为私有API。我建议使用Gabriel Grant解决方案,并设置父组件的layout属性。

// parent-component
import Component from '@ember/component';
import layout from '../templates/parent-component';

export default Component.extend({
  layout
});


// child-component
import ParentComponent from './parent-component';

export default ParentComponent.extend({
});