0

네임 스페이스 지정과 녹아웃 유효성 검사를 결합하는 데 문제가 있습니다. 잘 작동녹아웃 유효성 검사 및 네임 스페이스 지정

myNameSpace = { 
    viewModel: { 
     name: ko.observable().extend({ digit: { digit: true, message: "digits only"} }) 
    } 
}; 
ko.validation.init({}); 
ko.applyBindings(myNameSpace.viewModel); 

: 반대로

myNameSpace = { 
    viewModel: { 
     name: ko.observable().extend({ digit: { digit: true, message: "digits only"} }) 
    } 
}; 
ko.validation.init({}); 
ko.applyBindings(myNameSpace); 

이 유효성 검사를 나누기.

누구나 그 차이를 설명 할 수 있습니까?

답변

0

이것은 개체와 속성의 존재에 관한 것입니다. "name"속성에 대한 바인딩이있을 수 있습니다. ko.applyBindings (myNameSpace);를 수행하면 ko는 myNameSpace 객체에서 "name"속성을 찾습니다. 존재하지 않습니다.

ko.applyBindings (myNameSpace.viewModel);로 바인딩하면보기 모델 객체에서 이름을 찾습니다. 그것은 그것을 발견하고 거기에 재산이나 관측에 바인딩 할 수 있습니다.

그러나 첫 번째 경우에는 "value : viewModel.name"을 사용하여 데이터 바인딩을 사용하는 경우 myNameSpace 객체의 viewModel 속성의 name 속성을 찾고 있기 때문에 작동합니다.