配列に変更が加えられました。サンダーソンの最新の配列サブスクリプション メソッドを使用して、追加/削除の変更をキャッチしています。このサブスクリプションでは、要求をバンドルしてネットワーク経由で送信する予定です。何らかの理由でリクエストが失敗した場合、コレクションへの変更をキャンセルできるようにしたいと考えています。変更が反映される前にこのサブスクリプションがヒットしたことを確認したので、「やらないでください」と言う方法があると思いますが、方法がわかりません。
私の例として...
self.SourceData = ko.observableArray(data);
self.SourceData.subscribe(function(changes) {
var isAllGood = true;
ko.utils.arrayForEach(changes, function(ch) {
if (ch.value == doesNotMeetMyCondition) isAllGood = false;
});
if (!isAllGood) <STOP DON'T DO IT>
}, null, 'arrayChange');
「これ」を調べると、標準の [callback, dispose, disposeCallback, target] を使用した ko.subscription オブジェクトが表示されますが、「やめてはいけない」ということにはならないようです。
どんな考えでも非常に役に立ちます。ありがとう。