所以我有一个包装输入的标签。我有一个绑定到标签的点击事件,以及绑定到输入更改的另一个函数。这些需要是单独发生的事情(还有其他可以改变值的事情,但我不希望点击处理程序为这些事情触发)。
点击按预期触发,但值永远不会改变,更不用说触发关联的函数了。
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>