KnockoutJS - 检查和计算功能的复选框
KnockoutJS - checkbox on check and computed function
我是 KnockoutJS
的新手,我有一个 'simple' 问题 - 每次我点击 checkbox
或 label
我都会看到 1
控制台。但是 changeCheck
'knows' 应该在什么时候调用它呢?
只是 return self.check();
通知 knockoutJS
在 check
更改时调用 changeCheck
吗?我不明白。有人可以为我解释一下吗?
self.check = ko.observable(false);
self.changeCheck = ko.computed(function () {
console.log(1);
return self.check();
});
<input type="checkbox" id="myCB" data-bind="checked: check" />
<label for="myCB">lorem</label>
您自己尝试回答问题是正确的。 Knockout 将分析您计算的可观察对象,以确定访问了哪些其他可观察对象。所有这些可观察对象都将被标记为计算可观察对象的依赖项(换句话说,计算可观察对象将订阅可观察对象的更改)。每当一个 observable 发生变化时,它会通知所有订阅者更改的值。对于计算的可观察量,这意味着将进行重新计算。很多我刚刚输入的内容,以及很多其他有用的信息都在 Knockout 关于计算可观测值的文档中提供,找到 here.
我是 KnockoutJS
的新手,我有一个 'simple' 问题 - 每次我点击 checkbox
或 label
我都会看到 1
控制台。但是 changeCheck
'knows' 应该在什么时候调用它呢?
只是 return self.check();
通知 knockoutJS
在 check
更改时调用 changeCheck
吗?我不明白。有人可以为我解释一下吗?
self.check = ko.observable(false);
self.changeCheck = ko.computed(function () {
console.log(1);
return self.check();
});
<input type="checkbox" id="myCB" data-bind="checked: check" />
<label for="myCB">lorem</label>
您自己尝试回答问题是正确的。 Knockout 将分析您计算的可观察对象,以确定访问了哪些其他可观察对象。所有这些可观察对象都将被标记为计算可观察对象的依赖项(换句话说,计算可观察对象将订阅可观察对象的更改)。每当一个 observable 发生变化时,它会通知所有订阅者更改的值。对于计算的可观察量,这意味着将进行重新计算。很多我刚刚输入的内容,以及很多其他有用的信息都在 Knockout 关于计算可观测值的文档中提供,找到 here.