我想弄清楚在产品上收集“可变”个性化数据的正确方法。该产品已定义这些个性化的字段: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