view - 如何在 Sproutcore 中分割 View 文件?

标签 view code-organization sproutcore

假设您有一个 SC.SplitView 来实现主从功能,现在我希望有一名开发人员负责定制主件的 SC.ViewList,同时让另一名开发人员负责定制和可用性详细信息的 SC.View。

随着页面越来越大,我想知道是否有一种已知的做法如何将文件分成两个,将 SC.View 主子文件放在一个文件中,将 SC.View 详细子文件放在另一个文件中.

有人遇到过这种需求吗?

最佳答案

您可以轻松地将 View 拆分为多个文件,我们强烈鼓励这样做!

主要前提是您将拥有三个 View :

  1. SC.SplitView
  2. 左 View ,以及
  3. 正确的观点

您需要使用 sc_require 以便 SplitView 可以找到其他 View 。这是一个简单的示例:

# 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
  })
})

然后,另外两个 View :

#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 的“分离 View ”部分有关更多信息,也许还有一个更好的示例(快速注意:SC.View.design()SC.View.extend() 几乎相同,但是 . design() 已被弃用;我们正在更新指南以匹配最佳实践)。

关于view - 如何在 Sproutcore 中分割 View 文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19532094/

相关文章:

sproutcore - Sproutcore 顺序由其他 Controller

ruby - 在haml gem上用RubyGems安装Sproutcore失败

ios - 将 UIView 换入或换出 ViewController 的 View

c# - StyleCop 冲突规则 : SA2104 and SA1202

c# - 获取viewbag动态属性的值为null

JavaScript 不需要的延迟?

php - 在哪里存储辅助函数?

gwt - 哪个Web应用程序框架?

javascript - 如何解决angularjs Uncaught Error : [$injector:modulerr]?

mysql - SQL VIEW 只返回第一条记录