敲除 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:... " >
我在 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:... " >