升级到淘汰赛后的问题3.1

时间:2014-11-13 19:56:21

标签: knockout-mapping-plugin

当我想要在淘汰赛2.0中处理单选按钮时,我使用了以下代码,但现在我升级到淘汰3.1并且下面的代码抛出异常说更新不是函数。

ko.bindingHandlers.radioOnOffBoolean =
{
    init: function (element, valueAccessor, allBindingsAccessor) {
        var value = valueAccessor();
        var newValueAccessor = function () {
            return ko.dependentObservable({
                read: value,
                write: function (newValue) {
                    value(newValue === "On");
                }
            });
        };

        ko.bindingHandlers.checked.init(element, newValueAccessor, allBindingsAccessor);
    },
    update: function (element, valueAccessor) {
        var value = ko.utils.unwrapObservable(valueAccessor());
        var newValueAccessor = function () {
            return value ? "On" : "Off";
        };
        ko.bindingHandlers.checked.update(element, newValueAccessor);

    }
};

1 个答案:

答案 0 :(得分:0)

Knockout v3现在在比较检查绑定的模型值和元素值时检查严格相等。

var isCheckedValue = ko.observable(true);

<input type="radio" name="example" data-bind="checked: isCheckedValue, checkedValue: true" />