私たちはquestions
という配列を持っています。各質問の配列はanswer
です。それぞれの答えはtext
とvalue
です。各question
には、選択した回答のvalue
を保持するプロパティselectedAnswer
があります。foreachループの親への参照は機能しません
実装:
<div data-bind="foreach : {data: questions}">
<p data-bind="text: desc"></p>
<div data-bind="foreach: {data: answers}">
<div>
<span>Working:</span>
<label data-bind="text: answer"></label>
<input name="something" type="radio" data-bind="checked: model.selectedAnswer, value: value"></input>
<span>...Not working--></span>
<label data-bind="text: answer"></label>
<input name="something" type="radio" data-bind="checked: $parent.selectedAnswer, value: value"></input>
</div>
</div>
</div>
The selected answer is:
<span data-bind="text: model.selectedAnswer">
</span>
そして、ここでは、関連JavaScript
です:
model = {
selectedAnswer: ko.observable(),
questions: ko.observableArray()
};
var q1 = {
desc: 'Do you like JS?',
answers: [
{answer:'Yes', value:'Yaaay'},
{answer:'No', value:'Nope'}
]
};
model.questions.push(q1);
ko.applyBindings(model);
問題:
私はmodel.selectedAnswer
でselectedAnswer
を参照する場合、それは正常に動作します。もし私が$parent.selectedAnswer
でそれを参照しても動作しません。私は何が欠けていますか?
JSFiddle:その文脈において
https://jsfiddle.net/votsevfd/2/