仪表板的最佳实践

时间:2012-05-26 14:25:21

标签: ember.js

我正在编写一个应用程序,使用RoR作为后端,使用Ember.js作为前端。

app结构如下:

  • 多个项目

  • 每个项目都有任务和里程碑

UI结构如下:

  • 双栏布局,左侧栏上有“项目”

  • 选择项目后,可以选择任务和里程碑

  • 有人登录后的“主屏幕”将成为仪表板。不会选择任何项目。仪表板将包含基本信息(即将到来的里程碑,任务进度等)

这一切似乎很正常,但我正在努力找出实施仪表板的最佳方式。

在没有Ember.js的RoR中,我可能会创建一个单独的仪表板控制器。然而,我并没有意识到Ember.js的最佳实践。

使用Ember完成此任务的最佳方法是什么?

3 个答案:

答案 0 :(得分:2)

作为介绍,请看看Vimeo上的Strobe的Sproutcore培训视频,请参阅http://vimeo.com/user7276077/videos

他们很擅长SproutCore,模型,视图和控制器的概念也适用于Ember.js。在Part 4 - The Controller Layer中,陈述了具有多个项目和任务的应用程序的基本结构。

我知道这不是您问题的具体答案,但它应该引导您朝着正确的方向前进。

答案 1 :(得分:2)

看看this gist by Yehuda Katz。它讨论了Ember.js中的新路由器实现,还有如何实现嵌套视图等的示例。前进使用的基本方法似乎是:

  • 使用路由器初始化控制器并分配正确的视图。
  • 在主要部分中使用容器视图,然后根据应用程序的状态切换出currentView属性。
  • 减少单身人士的使用
  • 通过删除对Singleton控制器的依赖性来允许重用视图

这似乎是创建更大应用程序的好方法。对于您的情况,我将containerViews绑定到2列中的每一列,并且还将整个页面的容器视图绑定到整个页面。然后根据应用程序的状态在路由器中操作它

答案 2 :(得分:0)

UI结构如下:

两栏布局,左侧栏上有项目

选择项目时,可以选择任务和里程碑

有人登录后的“主屏幕”将成为仪表板。不会选择任何项目。仪表板将包含基本信息(即将到来的里程碑,任务进度等)

这一切似乎很正常,但我正在努力找出实施仪表板的最佳方式。

在没有Ember.js的RoR中,我可能会创建一个单独的仪表板控制器。然而,我并没有意识到Ember.js的最佳实践。 ember.js 分享|改善这个问题