Javascript 对foreach循环中父级的引用不起作用

Javascript 对foreach循环中父级的引用不起作用,javascript,knockout.js,Javascript,Knockout.js,我们有一系列的问题。每个问题都有一系列答案。每个答案都有一个文本和值。每个问题都有属性selectedAnswer,该属性保留所选答案的值 实施: <div data-bind="foreach : {data: questions}"> <p data-bind="text: desc"></p> <div data-bind="foreach: {data: answers}"> <div> <span>W

我们有一系列的
问题
。每个问题都有一系列答案。每个答案都有一个
文本
。每个
问题
都有属性
selectedAnswer
,该属性保留所选答案的

实施:

<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>
问题:
如果我引用了
selectedAnswer
model.selectedAnswer它可以正常工作。如果我通过
$parent.selectedAnswer
引用它,它将不起作用。我错过了什么

JSFiddle:

在该上下文中,
$parent
指的是问题对象,而不是模型本身。您必须引用祖父母(父母的父母)才能访问
模型
成员

您可以通过
$parents
上下文属性访问它们。它只是相对于当前上下文的父对象数组
$parents[0]
对应于父对象(与
$parent
相同)。祖父母是
$parents[1]

<input name="something"
       type="radio"
       data-bind="checked: $parents[1].selectedAnswer, value: value">

<input name="something"
       type="radio"
       data-bind="checked: $parents[1].selectedAnswer, value: value">