当我想要在淘汰赛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);
}
};
答案 0 :(得分:0)
Knockout v3现在在比较检查绑定的模型值和元素值时检查严格相等。
var isCheckedValue = ko.observable(true);
<input type="radio" name="example" data-bind="checked: isCheckedValue, checkedValue: true" />