在视图模型属性更改复选框值时收到通知

时间:2011-12-27 19:09:46

标签: javascript knockout.js

我的视图模型中的属性绑定了一个复选框。当勾选复选框时,视图模型属性会更改,当我更改视图模型属性时,复选框会勾选。

我正在尝试做的是在复选框值更改时通知(由视图模型更改触发)。如果我勾选复选框,我可以捕捉'更改'事件,但是当我更改视图模型时,事件不会触发。

我需要能够收到有关此更改的通知,因为我用来为复选框设置外观的脚本依赖于此事件。

我看了自定义绑定作为解决这个问题的方法,但我希望有一个内置的解决方案。

我正在使用淘汰赛1.7。

由于

1 个答案:

答案 0 :(得分:4)

如果您希望收到用户勾选复选框的通知以及视图模型属性以编程方式更改的时间,您可以对可观察值使用Knockout's .subscribe function

var viewModel = {
   isChecked: ko.observable(false)
};

viewModel.isChecked.subscribe(function(newValue) {
    // Do stuff here
});