2015-01-21 5 views
-1

아무 것도 포함하지 않기 위해 내보기 모델에서 녹아웃 관측 가능 배열을 재설정하려고하지만 모든 회전마다 돌연변이가 발생합니다. 이 정의되면, 나는 빈을 설정합니다녹아웃 관측 가능한 배열을 지우는 방법?

self.currentPeople = ko.observableArray([]); 

그러나 내가 페이지를 아래로 변경하려고하면 :

self.currentPeople.removeAll(); 

나는 예외를 얻을 :

Uncaught TypeError: undefined is not a function 

하더라도를 I 안전한 지 확인하여 존재하는지 확인한 다음 설정하십시오.

if (self.currentPeople) { 
     self.currentPeople.removeAll(); 
} else { 
     self.currentPeople = ko.observableArray([]); 
} 

여전히 같은 오류가 발생합니다. 내가 도대체 ​​뭘 잘못하고있는 겁니까? 보조 노트에

self.currentPeople([]); 

: 아무것도 포함하지 분명 배열이 무슨 뜻으로 간단히 할 빈 상태 (empty)의 배열이 포함 된 경우

+3

"currentPeople"이 정의되고 사용되는 전체 컨텍스트를 얻으려면 나머지 뷰 모델을 게시 할 수 있습니까? –

+0

... 적어도 예외의 스택 추적과 적절한 코드 –

답변

-1

당신은 self.currentPeople().removeAll()

+2

[아니요] (http://knockoutjs.com/documentation/observableArrays.html#remove-and-removeall) 및 실제로 if 이 방법으로 기본 배열을 작업하면 녹아웃은 변경 한 내용을 볼 수 없습니다. –

1

말하여 관찰 배열 '드 참조'필요 ,

if(someObservable) 

항상 "true"를 사용하여 "someObservable()"을 사용하는지 테스트합니다. 래퍼 대신 observables 값을 가져옵니다. self.currentPeople.removeAll()이 오류를 throw하는 방법에 대해 혼란 스럽지만 위의 해결 방법이 도움이되지 않아 필요한 코드를 더 많이 게시 할 수 있습니까?

나는이 답변의 절반이 의견이어야한다는 것을 알고 있지만 아직 할 담당자가 없습니다.