2013-01-17 2 views
3

webforms에서 knockout databinds를 사용합니다. 현재 양식을 지우기 위해 원래 데이터를 다시로드하기 전에 사용되는 재설정 기능이 있습니다. 나는 60 개가 넘는 들판을 가지고 있으며, 나는 한 명 한 명을 모두 지우고 고통스럽게해야합니다. 한 번에 모든 녹아웃 바인딩을 지울 수있는 방법이 있습니까? 현재 제가 사용하는 것은 다음과 같습니다 :녹아웃 데이터 바인딩 재설정

self.parentObject.somefield(''); 
self.parentObjectAddress.street1(''); 
etc 
etc 

- 업데이트 1--

는 설명 내 모든 필드가 parentObject의 일부 추가 할 수 있습니다. 예

self.parentObject.fieldName 

내가하고자하는 것은 parentObject의 모든 하위 항목을 지우는 것입니다.

답변

3

나는 다른 접근법을 고려할 것입니다. 객체 자체를 "재설정"하는 대신 새로운 객체를 생성하고 이전 객체를 버리는 것이 어떻습니까? 이미 객체를 생성하는 코드가 있어야합니다. 최상위 레벨 (<form> 태그 일까?)에 data-bind="with: someObject"이 있으면 someObject (관찰 가능하다고 가정)를 객체의 새로운 "깨끗한"인스턴스로 바꿉니다.

+0

이것은 이전에했던 것과는 완전히 다른 사고 방식을 필요로하지만 트릭을 아주 잘합니다. – zmanc