我有一個ko.computed
功能和subscribe
功能:Jquery的淘汰賽認購不叫第一次
後才computed
功能已經由用戶觸發的訂閱功能被調用,而不是第一次也:
JsFiddle演示
的Javascript:
var viewModel = {
isChecked: ko.observable(false)
};
viewModel.isValid = ko.computed(function(){
console.log("calling isValid");
return this.isChecked();
}, viewModel);
viewModel.isValid.subscribe(function(value) {
console.log("isValid changed");
});
ko.applyBindings(viewModel);
HTM l
<input type="checkbox" id="checkbox" data-bind="checked: isChecked" />
<label for="checkbox">Checkbox</label>
我該如何「觸發」init的訂閱功能呢?
你爲什麼訂閱'computed'而不是'observable'?根據定義,只有在明確調用計算時纔會「更改」 – CodingIntrigue
因爲'isValid'通常使用更多的可觀察量,而不僅僅是一個。我爲了簡單起見就這樣做了 – Catalin
計算和訂閱僅當值不改變初始化時觸發。你試圖通過啓動init來實現什麼? – Tanner