Visual Studio中的breezejs angularjs ToDo SPA模板

时间:2013-04-19 18:52:03

标签: visual-studio angularjs breeze single-page-application

我对设计有疑问。我刚刚浏览了Visual Studio ToDo模板的代码,用于使用BreezejS和AngularJS构建SPA。

有一个todo.model.js文件可以进行各种初始化。一个有趣的事情是它通过一些附加功能(addToDo)扩展了TodoList实体。

这样做有什么好处,而不是在todo.controller中使用addToDo函数并将其添加到$ scope?

2 个答案:

答案 0 :(得分:2)

您可以将所有TodoList级别持久性操作移出TodoList并进入其他组件。控制器是潜在的候选人。

这些操作在TodoList中的主要原因是......因为原始ASP.NET模板的作者就是这样做的!

其中一个“社区模板”设计目标是让所有“TodoList”应用尽可能相似。通过保持设计不变,我们使读者更容易比较不同框架的效果:Knockout,Breeze,Backbone,Ember。如果他们中的任何一个重新定位了这些操作,您将不知道该更改是由目标框架强加的还是仅仅是实现者的偏好。我们希望从中汲取自我,让您专注于所涉及的技术。

请勿将这些模板视为福音。在某些方面,它们是不现实的;每次单个对象的单个属性发生变化时,我无法想象保存。

向他们学习。以健康的怀疑态度对待他们。保持问这样的问题。采取对你有意义的事情。放弃其余部分。

答案 1 :(得分:1)

我认为这只是让实体为列表中的项目处理自己的保存/删除功能。控制器似乎只处理添加新列表。我不确定除了保持控制器清洁之外还有什么好处。