Angular 1.x:何时使用控制器/服务的特定场景

时间:2017-01-14 08:48:59

标签: angularjs angular-services angular-controller

让我们说,在网络应用中,特定的JSON经常用于多个页面。例如

 {
    "employees":[
       {"firstName":"John", "lastName":"Doe"}, 
       {"firstName":"Anna", "lastName":"Smith"},
       {"firstName":"Peter", "lastName":"Jones"}
     ]
 }

所以为所有员工获取 firstName() lastName()应被视为控制者或服务的一部分?

我只能考虑使用服务,因为它经常在应用程序和控制器之间使用获取此数据,它也会更薄。

这是正确的方法吗?

1 个答案:

答案 0 :(得分:1)

您有以下选项:

  
      
  1. 每次在特定控制器中需要此数据时,都要进行REST / HTTP调用。因此,创建一个调用HTTP的EmployeesService   获取数据的端点。
  2.   
  3. 调用一次数据,并将其存储在服务中。然后,在需要数据的任何地方注入服务。
  4.   
  5. 在您的应用启动时从HTTP端点获取数据,并将其存储在浏览器的本地存储中或$ rootScope内,   所以你可以从任何地方访问它。
  6.   

最后,它取决于:

  • 您的应用程序有多大/您需要共享多少数据?
  • 多久更新此数据?
  • 哪些视图需要访问此数据?

所以是的,有了服务,你就安全了。然后,将其注入控制器并从那里使用它。数据进入服务的方式和频率:您的决定。