탐색 메뉴가 필요한 UI 구성 요소가 여러 개 있습니다. 다른 viewModel에서 사용할 수있는 MenuItem viewModel을 만들려고합니다.중첩 된보기 모델 내의 녹아웃 이벤트 핸들러
아이디어는 Knockout Webmail Example과 유사합니다.
예를 들어, "Window"viewModel은 "MenuItems"의 배열을 가질 수 있습니다. MenuItem에는 모든 동작 기능이 포함됩니다 (& 활성 상태로 이동).
활성 상태가 내 표준에서는 상당히 표준적인 반면, 각 MenuItem은 클릭 핸들러를 개별적으로 트리거해야합니다.
상위 viewModels에서 각 menuItem의 click 이벤트를 처리 할 수 있도록 MenuItem viewModel 내에 이벤트 콜백을 첨부 할 수 있다면 이상적입니다.
parent viewModel에서 클릭 핸들러를 정의 할 수 있지만 입니다.하지만 각 MenuItem의 클릭 핸들러는 foreach 템플릿 바인딩에서 참조 할 수 있습니까?
아직 실험 중이며 jsFiddle이라는 예를 만들었습니다. 나는 데이터 바인딩이 너무 장황하기 때문에 마크 업에 너무 만족하지 않는다.
미리 감사드립니다.
예, 나는 눈에 거슬리지 이벤트 핸들러의 알고보고를하게한다. 하지만 jQuery를 종속성으로 만들지는 않겠습니까? KO viewModel 내에서 이벤트를 처리 할 방법이 없습니까? –
사용자 정의 바인딩을 작성할 수 있습니다. 이 [Article] (http://www.knockmeout.net/2011/04/event-delegation-in-knockoutjs.html)에서는 어떻게 할 지에 대한 아이디어를 얻을 수 있습니다. 그들은 Jquery 템플릿을 사용하여 사용자가 클릭 한 실제 객체에 액세스 할 수 있지만 ko.contextFor를 사용하여 액세스 할 수 있습니다. – estebane97
분명히 내가 한 것보다 마지막으로 더 많이 이해했습니다. Article :-)에 대한 링크를 가져 주셔서 감사합니다. –