배열에 변화가 생겼습니다. 나는 Sanderson의 최신 배열 구독 방법을 사용하여 추가/삭제 변경 사항을 잡으려고합니다. 이번 구독에서 나는 묶어서 내 요청을 유선으로 보내려합니다. 어떤 이유로 든 요청이 실패하면 콜렉션에 대한 가능한 변경을 취소 할 수 있기를 원합니다. 변경 사항이 전파되기 전에이 구독이 적용된다는 사실을 확인 했으므로 "중지하지 마십시오"라고 말하면 어떻게 될지 생각할 수 있습니다. 내 예를 들어 녹아웃 3.0이있는 관측 가능한 배열에 대한 변경을 어떻게 취소 할 수 있습니까?
...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');
검사 '이'나는 [disposeCallback, 대상을 폐기, 콜백] 표준과 ko.subscription 객체를 참조 할 수 있지만, 아무것도 DON를 중지하려면 금액 것 같다 '할.
어떤 생각이든 도움이 될 것입니다. 감사.
? 사실이라면, 추가/삭제라는 두 가지 메소드를 추가하고 그 내부에서 유효성 검증을 수행해야할까요? – alexmac