Итак, у меня есть этикетка, обертывающая ввод. У меня есть событие click, связанное с меткой, и другая функция, связанная с изменением ввода. Это должно происходить по-разному (есть другие вещи, которые могут изменить значение, но я не хочу, чтобы срабатывал обработчик кликов).
Щелчок срабатывает, как и ожидалось, но значение никогда не меняется, а тем более запускает связанную функцию.
vm.hasBeenClicked = ko.observable(false);
vm.currentValue = ko.observable('default');
vm.onLabelClick = function(){
vm.hasBeenClicked(true);
//fires no problem
}
vm.currentValue.subscribe(function(){
//this never fires
});
И HTML:
<label data-bind="click: onLabelClick">
<input type="radio" data-bind="value: currentValue" />
</label>