2014-11-13 3 views
0

Когда я хочу иметь дело с переключателем в нокауте 2.0, я использовал приведенный ниже код, но теперь я обновляюсь до нокаута 3.1, и это ниже исключение кода исключает, что обновление не является функцией.проблемы после обновления до нокаута 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

Нокаут v3 теперь проверяет строгое равенство при сравнении значений модели и значений элементов для проверенного связывания.

var isCheckedValue = ko.observable(true); 

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

Большое спасибо, сейчас оно отлично работает. –

Смежные вопросы