2011-03-08 3 views
0

그래서 내 앱에서 splitview를 좀 더 재사용 할 수있게하려고 노력 중이지만 지금은 두 콘텐츠보기의 바인딩을 쉽게 설정하려고합니다.parentView에서 childViews의 속성에 액세스하기

내 topLeftView에는 contentView로 SC.ListView가있는 SC.ScrollView가 포함되어 있습니다. 나는 splitview를 사용할 때 ListView의 contentBinding, selectionBinding, contentValueKey 및 contentCheckboxKey 속성을 설정할 수 있기를 원합니다. 따라서 ListView에서 사용하는 splitview 자체에 몇 가지 속성이 있습니다. 그게 말이 되니? masterViewControllerContent을 참조

SomeApp.MasterDetailView = SC.SplitView.extend({ 
... 
masterViewControllerContent: 'SomeApp.someController.arrangedObjects', 
masterViewControllerSelection: 'SomeApp.someController.selection', 
masterViewControllerValueKey: "someKey", 
masterViewControllerCheckboxKey: undefined, 

topLeftView: SC.ScrollView.design({ 
    ... 
      contentView: SC.ListView.design({ 
       contentBinding: masterViewControllerContent, 
       selectionBinding: masterViewControllerSelection, 
       contentValueKey: masterViewControllerValueKey, 
       contentCheckboxKey: masterViewControllerCheckboxKey, 
     }) 
    }), 

bottomRightView: SomeApp.DetailsView.design({ 
    ... 
}) 

})

오류를 제공하지만 masterViewControllerContent를 참조 할 때 splitView의 범위에 갈 어쨌든 찾을 수 없습니다 : 그래서 여기

내가 가진 무엇 . 문제를 잘못된 방법으로 해결하고 있습니까? 어떻게해야/할 수 있을지에 대한 제안?

+0

안녕하세요, 클래스 관계가 무엇인지 명확하게 정의 해주십시오. – katsuya

+0

나는 그게 무슨 뜻인지 정확히 모르겠다. 클래스 사이의 관계들이 .... 나는 splitview에 넣어하지에 대해 동의 그것에 대해 생각 후 SomeApp.MasterDetailView ... –

답변

0

모든보기에는 'parentView'속성이 있습니다. 새보기 (App.MasterDetailView) 다음 마스터 세부 사항의 내용을 설정하고, 아이 뷰가 괜찮 콘텐츠에 결합 갖는 작성하는 경우 그래서 ListView에 당신은

'.parentView.parentView.masterViewControllerContent' 

에 결합 할 수있다.

스크롤과 목록이있는 SplitView가있는 경우 (즉, SplitView가 특수 기능보기가 아니기 때문에) 목록을 직접 콘텐츠에 바인딩합니다.

+0

에 childViews로 만든 것입니다 =) 덕분에 ... –

+0

@jakob, 시원한. splitview가 어떤 이유로 콘텐트를 필요로한다면 ListView에 바인딩을 정의하는 것 외에도 split view *에서 바인딩을 정의 할 수 있습니다. 바인딩에 대한 좋은 점은. 업데이트가 이루어지면 변경 사항이 전파됩니다. – hvgotcodes

+0

@ jakob, 나는이 질문으로 당신의 의도를 오해했습니다. 그래서 제 대답을 분명히했습니다. splitview 레벨에서 컨텐츠에 액세스해야하는 특수 뷰 (MasterDetail)를 작성하는 경우 상위 뷰에 바인드하는 것이 좋습니다. – hvgotcodes