0

私はこれを計算して使用しています。ご想像のとおり、selectAllをクリックすると、すべてのチェックボックスが(1つずつ)選択され、最適化できると「思う」ので、すべてがチェックされてからモデルが再評価されますが、それが可能かどうかはわかりません。

self.selectAllExpired = ko.computed({
                    read: function() {
                        return ko.utils.arrayFirst(self.paymentOrdersExpired(), function(order) {
                            return !order.isSelected();
                        }) == null;
                    },
                    write: function(value) {
                        ko.utils.arrayForEach(self.paymentOrdersExpired(), function(order) {
                            order.isSelected(value);
                        });
                    },
                    owner:this
                });
4

2 に答える 2

1

このタイプのシナリオにはスロットリングが適しています: http://knockoutjs.com/documentation/throttle-extender.html

計算済みに追加を使用しても.extend({ throttle: 1 })、各ボックスをチェックしている間に計算済みが複数の更新をトリガーするのを防ぎます。

于 2013-06-19T16:56:19.317 に答える