敲除 foreach 与自变量的绑定

knock out foreach binding with independent varriable

我在 html5 应用程序中使用 knockout 进行绑定。

我有一个奇怪的场景。

一个 div 我正在使用 for 循环绑定,如下所示

<div data-bind="foreach: oneList">
<select name="dropDown1" id="dropDown1" data-bind="options: ddList,optionsText: function(item) { return item.value;},optionsValue:function(item) { return item.key; }">
</select>
<input type="text" id="newValue" data-bind="value : oneValue"/>
</div>

这里oneList是差分,ddList是差分,都是自变量

因此,当实际绑定发生时,下拉列表不会被绑定,但输入文本会被绑定,因为 oneList.oneValue 有效但 oneList.ddList 无效

如果我的问题不清楚,请告诉我

如果没有看到您的视图模型,很难判断,但很可能 oneList 列表中的项目没有定义 ddList 属性。

foreach 绑定中,当前绑定上下文引用列表中的当前项目,因此如果您需要 "go up" 在 binding context 中访问 属性与您的 onlist 处于同一级别,那么您需要使用 $parent (或 $root 访问您的主视图模型)。

固定的 options 绑定如下所示:

<select data-bind="options: $parent.ddList, optionsText:...  " >