3

我有一个问题是计算出的 observable 正在从地狱(Ordo n^2)创建通知链。

我需要做的是这个

Disable computed observable
Do stuff
Enable observable and notify subscribers (View)

发现了这个,但它已经超过一年了,

http://www.knockmeout.net/2011/04/pausing-notifications-in-knockoutjs.html

我希望现在有一些内置的解决方案?

编辑:显示问题的小提琴。http://jsfiddle.net/8mxBA/

它非常接近真实站点代码尝试使用顶部复选框选择所有项目它只会对计算的canSave进行两次调用,尝试取消选中它,它将对计算的canSave进行n次调用,并且由于canSave方法迭代整个集合可能会变慢。

4

2 回答 2

1

尝试油门选项('不是扩展器')。

comp = ko.computed(function () {
    return stuff;
}, this, {throttle: 1});

我相信油门扩展器将计算包装在一个额外的计算中,因此效率较低。

于 2013-07-09T11:43:46.330 回答
0

检查一下,这是对throttle扩展器的更新:http: //knockoutjs.com/documentation/rateLimit-observable.html

于 2017-11-20T16:44:26.657 回答