渲染接受不同参数的ember组件数组

时间:2015-10-16 11:03:06

标签: ember.js

在某些处理结束时,我想要一个我要渲染到屏幕的组件数组。

所以我想我可以这样做:

const someComponent = SomeComponent.create({
 param1: 'something',
 param2: 'something else'
});
this.get('myComponents').pushObject(someComponent);

然后

{{#each myComponents as | component |}}    //以某种方式呈现这些 {{/每}}

我无法使用component助手,因为我有许多不同的组件,它们都接受不同的参数。

1 个答案:

答案 0 :(得分:0)

也许在处理结束时,您可以拥有一组数据而不是一组数组。数据可以包括某种方式来决定模板中的数据应该使用哪个组件,以及要使用的参数。然后,假设您有不同数量的不同可能组件,您可以根据类型在模板中有条件地呈现它们。

{{#each myComponentData as |data|}}
    {{#if data.isDate}}
        {{date-picker default=data.defaultDate}}
    {{/if}}
    {{#if data.isSomeOtherType}}
        {{component-for-other-type param1=data.relevantParameter}}
    {{/if}}
{{/each}}