私は流星のアプリケーションを持っています。シンプルなデータモデルと編集画面があります。モデルは次のとおりです。
{
_id: "some_id",
date: "date",
attempts: [{k1: "v1"}, {k1: "v2"}, {k1: "v1"}]
}
このモデルはセッションに保存されます。編集画面は次のように構成されています。
<template name="editModel">
<form>
{{#each model.attempts}}
{{> attempt}}
<hr/>
{{/each}}
</form>
<button class="btn add-rep">Add</button>
<hr/>
<button type="submit" class="btn btn-primary submit-exercise">Submit</button>
</template>
<template name="attempt">
<label>K1</label>
<select name="k1">
<option {{selected k1 "1"}} >1</option>
<option {{selected k1 "2"}} >2</option>
</select>
</template>
attempt
テンプレートは基本的に単なるドロップダウンであり、オブジェクトのプロパティを更新する必要がk1
あります。私は次のコードを書きました:
function keyChanged (e, t){
t.data.k1 = t.find("[name='k1']").value;
}
Template.attempt.events = {
"change select[name='grip']" : keyChanged
}
data
ただし、読み取り専用であるため、機能しません。attempts
問題は、配列内のオブジェクトを更新するにはどうすればよいかということです。