最佳实践控制器/服务

时间:2015-09-17 07:47:01

标签: javascript angularjs

我构建了一个Angular应用程序,它使用来自不同来源(SharePoint列表)的数据。我为每个来源设置了一个控制器。

最佳做法是什么?仅为应用程序和不同的服务使用一个控制器?还是一个服务和一个控制器?还是多个服务和控制器? 在应用程序中,我不使用路由。

2 个答案:

答案 0 :(得分:1)

我会说:在你的应用程序中为每一块“HTML”使用一个控制器,(这取决于你的应用程序的规模有多大,如果你的应用程序非常小,它可能只是一个控制器) 。并为每个数据源使用服务。然后,您可以在控制器中使用所需的服务。如果您不需要很多行为,也可以使用一项服务。这一切都取决于你的申请量有多大。

答案 1 :(得分:1)

首先,我建议阅读这些文章。此外,通过他们的角度实现,看看他们是如何实现他们的一些效果。它会让你陷入一个你会感觉到的问题世界“为什么?我的意思是,为什么?为什么我会遇到这个烂摊子?”但是,咬紧牙关并完成它。然后你会看到你能达到多少。学习Angular JS是一个永无止境的循环。

好的,回答你的问题:你的方式没错。

但控制器的设计不是那样的。控制器是一个代码单元,它将您的数据协调到UI,处理UI事件等,通常是某个视图 - 即UI的一部分(导航栏,主页,编辑表单等)。当然,这也可以是整个页面。但最好将其分解,以便更容易管理。

将服务用于您所描述的内容。为每个数据源或数据类型(用户,设备,角色等)创建服务。我建议使用后者,因为有时您需要从多个端点提取数据并将它们绑定在一起。这也可以在您的控制器内完成,但拥有服务将使您能够在应用程序的另一部分中重用该功能。

总结一个很长的答案,我会说这些文章,代码和提示。然后构建一个有助于构建应用程序的结构。只是不要过度设计它。