Javascript 为什么计算函数会自动运行
我的代码中有一个这样的敲除计算函数Javascript 为什么计算函数会自动运行,javascript,knockout.js,Javascript,Knockout.js,我的代码中有一个这样的敲除计算函数 self.TestFunction = ko.computed(function () { //Some logic }, self).extend({ rateLimit: 100 }); 此函数将自动执行,而不会绑定到任何html元素。我想知道背后的原因 我想知道背后的原因 通常,您使用ko.computed作为其返回值。然而,这并不是它们的唯一用途。通常,您会看到代码使用ko.computed更像是订阅多个值的
self.TestFunction = ko.computed(function () {
//Some logic
}, self).extend({ rateLimit: 100 });
此函数将自动执行,而不会绑定到任何html元素。我想知道背后的原因
我想知道背后的原因
通常,您使用ko.computed
作为其返回值。然而,这并不是它们的唯一用途。通常,您会看到代码使用ko.computed
更像是订阅多个值的一种奇特方式。比如说
// Please note, I do *not* recommend these kinds of structures, I'm merely
// showing knockout allows them
const input1 = ko.observable("");
const input2 = ko.observable("");
const input3 = ko.observable("");
ko.computed(function someSideEffect() {
input1();
input2();
input3();
console.log("Some value has changed!");
});
现在,为了使knockout能够“运行”登录到控制台的副作用,它必须找出它的依赖项是什么。它通过运行一次someSideEffect
函数来实现
如注释中所述,pureComputed
属性的工作方式不同。它们只在请求自己的值时运行内部函数
简言之:
在创建时运行其内部函数,因为它支持副作用ko.computed
仅在请求其值时运行一次,在没有依赖项时暂停ko.pureComputed
ko.computed
作为其返回值。然而,这并不是它们的唯一用途。通常,您会看到代码使用ko.computed
更像是订阅多个值的一种奇特方式。比如说
// Please note, I do *not* recommend these kinds of structures, I'm merely
// showing knockout allows them
const input1 = ko.observable("");
const input2 = ko.observable("");
const input3 = ko.observable("");
ko.computed(function someSideEffect() {
input1();
input2();
input3();
console.log("Some value has changed!");
});
现在,为了使knockout能够“运行”登录到控制台的副作用,它必须找出它的依赖项是什么。它通过运行一次someSideEffect
函数来实现
如注释中所述,pureComputed
属性的工作方式不同。它们只在请求自己的值时运行内部函数
简言之:
在创建时运行其内部函数,因为它支持副作用ko.computed
仅在请求其值时运行一次,在没有依赖项时暂停ko.pureComputed