したがって、入力をラップするラベルがあります。ラベルにバインドされたクリック イベントと、入力変更にバインドされた別の関数があります。これらは別々に発生する必要があります(値を変更できるものは他にもありますが、それらに対してクリックハンドラーを起動させたくありません)。
クリックは期待どおりにトリガーされますが、値が変更されることはなく、関連する関数が起動されることはほとんどありません。
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>