2011-03-08 53 views
0

所以我想在我的應用程序中使splitview有點重用,但現在我試圖讓兩個內容視圖中的綁定易於設置。從childViews訪問父視圖中的屬性

我的topLeftView包含一個SC.ScrollView,它有一個SC.ListView作爲它的contentView。我希望能夠在使用splitview時設置ListView的contentBinding,selectionBinding,contentValueKey和contentCheckboxKey屬性,並且因此在ListView使用的splitview本身中具有一些屬性。這有任何意義嗎?

因此,這裏是我有:

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給出了一個錯誤,但我似乎無法找到反正指masterViewControllerContent時候去SPLITVIEW的範圍。我是否以錯誤的方式解決問題?有關如何應該/可以完成的任何建議?

+0

你好,請你清楚地說明你的班級關係是什麼? – katsuya 2011-03-08 09:24:18

+0

我不完全確定你是什麼意思?這些類之間的關係是,它們被創建爲SomeApp.MasterDetailView中的childViews ... – 2011-03-08 14:12:40

回答

0

每個視圖都有一個'parentView'屬性。所以在ListView,你可以如果要創建一個新的視圖(App.MasterDetailView)則設置在主機的細節內容,並有了孩子的意見結合到該內容爲確定結合

'.parentView.parentView.masterViewControllerContent' 

如果你只有一個帶有滾動和列表的分割視圖(即SplitView不是一個你將要增加的特殊視圖),但是我會直接將列表綁定到它的內容。

+0

思考它後我同意你關於不把它放在splitview .... =)謝謝... – 2011-03-08 20:52:50

+0

@jakob,涼。請注意,如果splitview由於某種原因確實需要內容,除了在ListView上定義綁定之外,您還可以在拆分視圖*中定義綁定。這是關於綁定的偉大之處。當更新時,變化得到傳播。 – hvgotcodes 2011-03-08 21:47:29

+0

@jakob,我誤解了你對這個問題的意圖,所以我澄清了我的答案。如果您要創建一個特殊的視圖(MasterDetail),該視圖需要在分割視圖級別訪問內容,那麼可以綁定到父視圖中。 – hvgotcodes 2011-03-09 16:21:56