Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/455.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 最佳做法控制员/服务_Javascript_Angularjs - Fatal编程技术网

Javascript 最佳做法控制员/服务

Javascript 最佳做法控制员/服务,javascript,angularjs,Javascript,Angularjs,我构建了一个Angular应用程序,它使用来自不同来源(SharePoint列表)的数据。我为每个源设置了一个控制器 这方面的最佳做法是什么?是否仅为应用程序和不同服务使用一个控制器?还是一个服务和一个控制器?还是多个服务和控制器? 在应用程序中,我不使用路由 我会说:为应用程序中的每一个HTML“片段”使用一个控制器(这取决于应用程序的规模,该片段有多大,如果你的应用程序很小,它可能只是一个控制器)。并为每个数据源使用一个服务。然后,您可以在控制器中使用所需的服务。如果你不需要太多的行为,你也

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

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

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

首先,我建议你阅读这些文章。同时,通过它们的角度实现,看看它们是如何实现一些效果的。这会让你陷入一个充满问题的世界,你会觉得“为什么?我是说,为什么?我为什么会陷入这种混乱?”但是,咬紧牙关,克服它。然后你会看到你能取得多大的成就。学习角JS是一个永无止境的循环

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

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

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

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