我有一个问题是计算的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方法会对整个集合进行迭代,因此可能会变慢。
答案 0 :(得分:1)
尝试油门选项('不是扩展器')。
comp = ko.computed(function () {
return stuff;
}, this, {throttle: 1});
我认为节流扩展器将计算机包装在一个额外的计算中,因此效率较低。
答案 1 :(得分:0)
检查一下,这是throttle
扩展程序的更新:http://knockoutjs.com/documentation/rateLimit-observable.html