我在更新data-bind
元素时通过自定义事件进行select
更新时出现问题。我们的想法是select
元素更改了更新datatype
参数。然后,如果选择了特定值,则更改事件会触发更新sliderType
这是一个布尔值并更改为true
。一切正常,但div -data-bind="if: sliderType-
没有更新更新,但它适用于页面加载。
有没有办法强制页面重新检查绑定?
这是代码的一个片段,可以让您了解我的结构。
<select data-bind="options: Items, optionsText: 'type', value: dataType, optionsCaption: 'Choose Data Item...', event: { change: dataTypeChange }"></select>
<div data-bind="if: sliderType">Here is a message. Astonishing.</div>
dataTypeChange: function() {this.sliderType = (this.dataType._latestValue.id == 6) ? true : false;
正在使用{
dataItemId: -1,
name: ko.observable(res.Text),
dataType: ko.observable(res.DataType),
dataTypeChange: function() {
this.sliderType = (this.dataType._latestValue.id == 6) ? true : false;
},
sliderType: sliderActive
}
答案 0 :(得分:2)
我这个愚蠢的错误,如果data-bind
对象是一个可观察的对象会有帮助
{
dataItemId: -1,
name: ko.observable(res.Text),
dataType: ko.observable(res.DataType),
dataTypeChange: function() {
this.sliderType = (this.dataType._latestValue.id == 6) ? true : false;
},
sliderType: ko.observable(sliderActive)
}