从选择绑定中删除数据绑定没有更新自定义事件

Knockout data-bind not updating on custom event from select binding

本文关键字:更新 自定义 事件 数据绑定 选择 绑定 删除      更新时间:2023-09-26

我有一个问题,通过一个自定义事件,当一个select元素被改变时被调用的data-bind更新。其思想是,select元素的变化更新了datatype参数。然后,更改事件启动,更新sliderType,这是一个布尔值,如果选择了特定的值,则更改为true。这一切都很好,但是div -data-bind="if: sliderType-不更新的变化,但它的工作在页面加载。

是否有办法强制页面重新检查绑定?

这是一段代码,让你了解我的结构。

HTML

<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>
JavaScript

dataTypeChange: function() {this.sliderType = (this.dataType._latestValue.id == 6) ? true : false;

ko。正在使用的可观察对象:

{
    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
}

这是我的一个愚蠢的错误,如果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)
}