Knockout JS 내의 관찰 가능 부분에 연결된 모든 익스텐더와 바인딩을 볼 수 있습니까?관찰 할 수있는 모든 익스텐더와 커스텀 바인딩보기
샘플보기 모델 :
<!--Screen 1 -->
<input data-bind="value:firstName"/>
....
<!--Screen 2 -->
<span data-bind="editable:firstName"></span>
A.인가 :
var viewModel = function(){
var self = this;
self.firstName = ko.observable().extend({required: "Please enter a name",
logChange: "first name" });
self.lastName = ko.observable().extend({ required:true});
}
나는 또한 KO Validation Plugin
샘플 여러 페이지 뷰 외에 Knockout X-Editable Plugin 등 여러 가지 정의 bindingHandlers을 사용하고 있습니다 self.firstName()
을 쿼리하고 모든 Extender 목록을 얻는 방법이 있습니까?
{required: "Please enter a name", logChange: "first name" }
B. 나는이 관찰에 의존 바인딩 핸들러를 모두 얻을 수 실행할 수있는 다른 쿼리가 있습니까? DOM 요소로 반환 될 수 있습니까?
기본적으로 가져온 데이터의 유효성 검사 오류를 표시하려고하지만 두 번째보기 인 경우 <span data-bind="editable"/>
아래에 추가하려고합니다.
이것은 각 입력을 개별적으로 유효성을 검사 할 때 충분히 간단하지만 ko.validation.group(viewModel)
을 사용할 때 복잡해집니다. 모든 오류를 반복 할지라도 오류를 던진 원래 관찰 내용과 어떻게 관련 지을 수는 없습니다. 관찰의 모든 익스텐더를 보는 더 일반적인 방법은 없습니다 D
:
그래, 나는 validationMessage 바인딩에 대해 알고 있었다, 그러나 단지 메시지를 잡고 때 나 자신을 조작하는 나를 위해 다른 방법이 있다면 궁금 해서요 validatedObservable (유효성 검사 그룹)을 사용하여 작업합니다. 이 오류의 배열, 즉 observable 자체를 반환하면 각 오류에서 부모를 찾기 위해 호출 할 수있는 함수가 있습니까? – lyma
아니, 안타깝게도 viewmodel의 구조를 아는 유일한 사람은 bindingcontext – Anders
입니다. 나는 그 문제를 해결할 수있다. 감사. – lyma