2013-10-23 24 views
2

假设你有一个SC.SplitView来实现一个主 - 细节功能,现在我希望有一个开发人员来定制主块的SC.ViewList,而另一个开发人员则需要定制和使用SC.查看详细信息。如何在Sproutcore中分割视图文件?

随着页面越来越多,我想知道是否会有一个已知的做法,如何将文件分成两份,一份文件中包含SC.View母版子文件,另一份文件中包含SC.View detail-child另一个。

有没有人遇到过这种需求?

回答

3

你可以很容易地将你的意见分成多个文件,这是非常鼓励!

主要前提是,你将有三个观点:

  1. 的SC.SplitView
  2. 左视图,
  3. 右视图

你需要使用sc_require以便SplitView可以找到其他人。这里有一个简单的例子:

# Inside my_app/resources/main_page.js 

sc_require('views/left_split_panel') 
sc_require('views/right_split_panel') 

SplitView.extend({ 
    childViews: ['leftPanel', 'rightPanel'], 

    leftPanel: MyApp.LeftSplitPanelView.extend(SC.SplitChild, { 
    minimumSize: 200 
    }), 

    rightPanel: MyApp.RightSplitPanelView.extend(SC.SplitChild, { 
    autoResizeStyle: SC.RESIZE_AUTOMATIC 
    }) 
}) 

然后,另外两个观点:

#inside my_app/views/left_split_panel.js 

MyApp.LeftSplitPanelView = SC.View.extend({ 
    childViews: ['someView anotherView'], 

    someView: SC.View.extend(...), 
    anotherView: SC.View.extend(...) 
}) 

#inside my_app/views/right_split_panel.js 

MyApp.RightSplitPanelView = SC.View.extend({ 
    childViews: ['dudeView sweetView'], 

    dudeView: SC.View.extend(...), 
    sweetView: SC.View.extend(...) 
}) 

结帐第二Getting Started guide的更多信息,也许是 “分离视图” 小节一个更好的例子(快速注:SC.View.design()SC.View.extend()几乎相同,但.design()已被弃用;我们正在处理中f更新指南以匹配最佳做法)。

+1

美丽!!!它像一个时钟一样工作,非常感谢。 –