0
好的,我對Ember(和框架)很新穎,所以如果我遺漏了一些明顯的東西,請原諒我。動態生成基於對象陣列的組件
我有一個包含一些邏輯的設置菜單組件。該邏輯的一部分是一個返回對象數組(可能的設置)的計算屬性。它將該數據傳遞給視圖組件。
菜單component.js
possibleSettings: computed(function() {
// Example of returned data
return [
{
type: 'time',
min: 1,
max: 60,
},
},
type: 'sound',
values: [‘alarm’, ‘beep’, ‘rooster’],
},
]
});
菜單component.hbs
{{menu-component/menu-view
possibleSettings=possibleSettings}}
每個設置都有它自己的組件,例如:
菜單組分/time.hbs
<label>Time</label>
{{input value=time}}
菜單組分/ sound.hbs
<label>Sound</label>
{{dropdown items=sounds}}
我想要的視圖分量來呈現這些組件,基於possibleSettings的結果。因此,按照上面的示例數據,它需要同時呈現時間和聲音組件。
我想我需要這樣的東西,但我無法將頭圍繞在最後一點。我可以用新的眼光看待事物。
菜單組件/設置 - view.hbs
<div>
{{#each possibleSettings as |setting|}}
{{#if (eq setting.type time)}}
{{component ‘menu-component/time'}}
{{else if (eq setting.type sound)}}
{{component ‘menu-component/sound'}}
{{/if}}
{{/each}}
</div>
任何幫助深表感謝。
我完全忘了CONCAT,這就是我試圖實現的解決方案。同時,我的計算屬性名稱中有一個錯字,這就是爲什麼我花了兩個小時試圖弄清爲什麼我無法訪問object.keys .... d'oh!乾杯。 –