View 如何在Sproutcore中拆分视图文件?

View 如何在Sproutcore中拆分视图文件?,view,code-organization,sproutcore,View,Code Organization,Sproutcore,假设您有一个SC.SplitView来实现主细节功能,现在我希望有一个开发人员来定制主件的SC.ViewList,同时有另一个开发人员来定制和使用细节的SC.View 随着页面越来越多,我想知道是否有一种已知的方法可以将文件一分为二,一个文件中有SC.View主控子文件,另一个文件中有SC.View detail子文件 有人遇到过这种需要吗?您可以轻松地将视图拆分为多个文件,我们非常鼓励您这样做 主要前提是您将有三种视图: SC.SplitView 左视图,以及 正确的观点 您需要使用sc\u

假设您有一个SC.SplitView来实现主细节功能,现在我希望有一个开发人员来定制主件的SC.ViewList,同时有另一个开发人员来定制和使用细节的SC.View

随着页面越来越多,我想知道是否有一种已知的方法可以将文件一分为二,一个文件中有SC.View主控子文件,另一个文件中有SC.View detail子文件


有人遇到过这种需要吗?

您可以轻松地将视图拆分为多个文件,我们非常鼓励您这样做

主要前提是您将有三种视图:

  • SC.SplitView
  • 左视图,以及
  • 正确的观点
  • 您需要使用
    sc\u 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(...)
    })
    

    查看第二部分的“分离视图”部分,了解更多信息,也许是一个更好的示例(快速说明:
    SC.View.design()
    SC.View.extend()
    几乎相同,但
    .design()
    已被弃用;我们正在更新指南以匹配最佳实践)

    #inside my_app/views/right_split_panel.js
    
    MyApp.RightSplitPanelView = SC.View.extend({
      childViews: ['dudeView sweetView'],
    
      dudeView: SC.View.extend(...),
      sweetView: SC.View.extend(...)
    })