为什么我们需要服务或工厂,我们也可以通过制作正常的javascript函数或在控制器本身编写逻辑来做同样的事情。 例如,当我使用' $ http.get'从服务器获取json数据时,我可以通过为它编写单独的服务来实现它,但为什么在我们可以直接在其中编写代码时甚至需要它。控制器?
答案 0 :(得分:1)
在深入了解Angular之前,这是一个很好的问题要求澄清,因为理解这些部分可以让你编写好的Angular代码而不仅仅是因为你可以做某事。
http://i.stack.imgur.com/BKl1Y.jpg
这对于Angular作为MVC来说是一个很好的视觉效果。
您的问题的简单答案是服务应该通过您的控制器传递信息到您的各种页面和路线。跨这些视图共享的所有信息逻辑都属于该服务。控制器将该信息从视图传递到服务并从中传递。不需要更广范围的视图的本地信息和逻辑可以保留在控制器中。这是一个清晰的分离,使Angular成为一个强大的框架。