我在确定表示以下任务的惯用Ember.js方式时遇到了问题:应用程序应显示主条目列表(让我们称之为类)每个人都有一个或多个子条目(让我们称之为学生),后者又有教师标记,作为子子条目
我希望页面显示课程列表以及每个课程的学生列表作为标准视图,而教师标记应该最初隐藏,但是按需显示,什么时候它们应该可以编辑(新的和删除操作)。
我实施此展示的方式是:
每个类都显示为Ember视图,因为我需要与控制器进行大量交互。 教师标记实施为Ember组件,以及学生。视图和组件都不执行与服务器的任何通信,它们基本上只是将动作发送到控制器/路由。
显示和隐藏教师标记是通过组件中的属性完成的。
对于所有这些我只有一条路线(就Ember.js教程和示例而言,我觉得我可能做错了)和一个控制器。该路线被命名为“班级”。并有一个显示类数组的ArrayController。我为每个类设置了项目控制器。
路由对象是从服务器获取数据的对象。被操纵的子元素(例如new / removed teacher-marks )通过从主路径事件调用的专用模型函数(使用Ajax调用)被推送到服务器。我没有使用Ember数据。
据我所知,我应该为这个实现提供嵌套资源,但是如何以这种方式实现它并且继续显示类和学生则不知所措 。
我非常感谢我对目前实施此方式的所有修改和建议。如果你可以添加为什么某些东西会以某种方式更好地工作,那对我来说也会有很大的帮助。
我还没有包含任何代码,因为我觉得这样可以更好地表达为一个问题。我的代码显然比上面复杂,并且不涉及班级 - 学生案例。如果需要,我可以勾勒出一个模型。