knockout.js 敲除计算功能称为“太迟...”?

vsdwdz23  于 2022-11-10  发布在  其他
关注(0)|答案(1)|浏览(134)

我需要一个knockout计算函数来直接执行,但它看起来更像是knockout对可计算对象进行排队,并在需要时执行。有没有一种方法(除了不使用knockout)来获得立即执行?
我已经逐步执行了我的代码,看到我的例程在调用计算函数之后继续执行,后来我在函数的断点处停止--这时已经太晚了。
我已经删除了95%的代码,但变量名仍然存在,在这种情况下,它们可能看起来有点奇怪...

var self = this;
self.temp = true;

self.UsePatterns = ko.observable(false); 

self.UsePatterns.subscribe(function () {
    self.ShowReport();
});

self.PatternColors = ko.computed(function () {
    var retValue = self.UsePatterns() ? true : false
    return retValue;
});

self.ShowReport = function () {
    self.temp = self.PatternColors();
    alert (self.temp);
};

self.UsePatterns(true);
self.UsePatterns(false);
self.UsePatterns(true);

https://jsfiddle.net/tommypeters/1ubfa4ev/22/
人们会认为这应该得到真,假,真,而不是相反...

laawzig2

laawzig21#

您应该改用ko.pureComputed()
第一个

相关问题