0
그것을 신호하지 않고 기능을 구독 난 할 노력하고있어 다음과 같다 :observableArray에서 요소를 제거합니다 이내에 다시
var queueManagerClass = function() {
this.queue = ko.observableArray();
this.queue.subscribe(function(theChangedQueue) {
// Do some nice things..
// Nice things are over, remove the last item from the queue..
this.queue.remove(theChangedQueue.pop());
}.bind(this));
};
2를 제외하고 문제가 발생 : 나는 this.queue.remove (항목)를 호출 할 때; 나는 무한 루프에 빠지게 될 것이다 .. 구독 함수는 스스로 그것을 반복해서 호출 할 것이다 ..
나는 구독 함수를 일시적으로 '바인딩 해제'하는 옵션이 있지만 사실은 위험 할 수 없다는 것을 알고있다. 바인딩을 해제하고 다시 바인딩하는 시간에 삽입 된 queueItem을 놓친다.
영어로만 이해할 수 있기를 바랍니다.
시간 내 주셔서 감사합니다.
답장을 보내 주셔서 감사합니다. 그러나 한 가지 더 : 귀하의 솔루션에서 subscribe 함수는 이미 요소가 배열에서 제거되었을 때 단순히 반환하는 것입니다. 이 방법으로, subscribe 함수 외부에서 호출 된 subscribeEvents를 놓칠 수 있습니다. 맞습니까? 이 문제에 대한 해결책이 있습니까? – NickGreen
@NickGreen 예 구독 기능에서 두 개의 구독자가있어 여기에서 이벤트를 놓칠 수있는 경우 – JaredPar
hmmm이 경우 다른 해결책이 없을 수 있습니다. – NickGreen