我想弄清楚在產品上收集「可變」個性化數據的正確方法。該產品已定義這些個性化的字段:Ember.js:綁定到動態表單輸入
"personalization": [
{
"id": 234,
"maxlength": "128",
"prompt": "Text Line 1 (12 character limit)",
"required": "1"
},
{
"id": 235,
"maxlength": "128",
"prompt": "Text Line 2 (12 character limit)",
"required": "1"
}
],
構建小形式來收集輸入將是相當簡單的,所不同的是個性化的數據可以是用於每個數量不同。所以,如果我這個項目的訂單2,它可以有個性化:
FIRST ITEM
Text Line 1: Yarr
Text line 2: Matey
SECOND ITEM
Text Line 1: Swab
Text line 2: The poop deck
所以基本上一套個性化領域的需要重複每個數量。
我有使用計算性能內置形式:
personalizedForm: computed('quantity', function() {
let q = get(this, 'quantity');
let persform = [];
for (let i = 0; i < q; i++) {
persForm.push(get(this, 'model.personalization'));
}
return persForm;
}),
與此模板:
{{#each personalizedForm as |quantity index|}}
Item {{add index 1}}
<ul>
{{#each quantity as |set|}}
<li class="label">{{set.prompt}}</li>
<li class="field">{{input value=????}}</li>
{{/each}}
</ul>
{{/each}}
這表明像下面的圖像的形式。這很好。但我只是無法弄清楚到底是什麼給每個窗體字段,並如何綁定。我想象「mut」和「get」助手是票據,但我甚至不知道如何設置對象來保存數據。
任何幫助表示讚賞!
而不是'{{輸入值=(MUT(獲得persSet '值'))}}'你可以嘗試'{{輸入值= persSet.value)}}' – kumkanillam
右鍵 - 耶和MUT得到幫手是不必要的。謝謝! – tarponjargon