녹아웃 3.2와 새 구성 요소 시스템을 사용하고 있습니다. 하위 구성 요소가 포함 된 구성 요소를 사용하려고합니다.녹아웃 3.2 구성 요소 데이터 컨텍스트
Home Page (component - with HomePageViewModel) NewsFeed1 (component with HomePageViewModel.NewsFeedViewModel1) NewsFeed2 (component with HomePageViewModel.NewsFeedViewModel2)
HomePageViewModel
var viewModel = (function() {
function viewModel() {
this.message = ko.observable("Welcome to DKT!");
this.newsFeedViewModel = new gr.viewModel();
this.newsFeedViewModel2 = new gr.viewModel();
this.newsFeedViewModel.message("Message 1");
this.newsFeedViewModel2.message("Message 2");
}
return viewModel;
})();
NewsFeedViewModel
var viewModel = (function() {
function viewModel() {
this.message = ko.observable("This is the profile!");
}
return viewModel;
})();
당신이 HomePageViewModel
가 모두 NewsFeedViewModel
를 포함 볼 수 있듯이. 지금은 두 가지 구성 요소의 DataContext/BindingContext로 사용할 수 있기를 원하지만 작동하지 않는 것 같습니다.
home.html을
<news-feed data-bind="newsFeedViewModel"></news-feed>
<news-feed data-bind="newsFeedViewModel2"></news-feed>
이 두 가지 구성 요소가 HomePageViewModel
에서 ViewModels를 사용하지만 새로운 NewsFeedViewModel
를 사용하지 않습니다. 어떻게 이러한 두 구성 요소의 datacontext를 상위 구성 요소 (집)에 저장된 viewModel에 바인딩 할 수 있습니까?
http://jsfiddle.net/rniemeyer/fssXE/이 솔루션 주셔서 감사합니다, 나는 오늘 밤을 시도하고 게시물을 업데이트합니다. – user2465083
이것은 완벽하게 작동합니다. 도와 주셔서 감사합니다 :) – user2465083
안녕하세요, 다음 코드 http://jsfiddle.net/fssXE/3/을 (를) 살펴 보시기 바랍니다. viewModel에 함수를 추가하고 viewModel의 함수에 바인딩했습니다. 그런 시점에서 viewModel에서 데이터에 액세스하려고하면 항상 정의되지 않습니다. ViewModel의 함수에서 데이터에 액세스 할 수 없었습니다. – user2465083