我通常在服务中加载数据,然后在我的控制器中请求这些数据。
e.g。
angular.module "xyz"
angular.module("myRecipesService", []).service "recipesService", ($http) ->
self = @
@.recipes = []
@.getRecipesFromDatabase = () ->
return $http.get('/getProovenRecipes').then( (result) ->
#console.log result.data
self.recipes = result.data
return result.data
@.getRecipes = () ->
return @.recipes
后来我从diff中的服务请求这些数据。控制器通过调用getRecipes。
angular.module "xyz"
.controller 'RecipesCtrl', ($scope, recipesService) ->
$scope.filteredRecipes = recipesService.getRecipes()
这是否存储了每个控制器中所有食谱的副本?或者有没有办法直接引用服务中的数据。我记得在我的C时代,我们使用了很多指针,这些指针只存储了查找数组的信息。
答案 0 :(得分:1)
由于@.recipes
不是您服务的私有变量,您可以使用:recipesService.recipes
但如果recipesService.recipes在您的控制器中发生更改,则无法观察更改寿命。