2015-10-16 55 views
-2

在某些处理结束时,我想要一组要渲染到屏幕上的组件阵列。呈现接受不同参数的余烬组件阵列

所以,我想我可以做这样的事情:

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

然后

{{#each myComponents作为|成分|}} // 使这些莫名其妙 {{/每} }

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

+0

是否有可能将所有参数折成attrs对象,然后使用组件助手? –

回答

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}} 
+0

是的,这是我目前正在做的 - 我想知道是否有更好的方法,因为列表变得非常大。 – jax