Angular Services / Controllers中的数据

时间:2015-07-07 19:49:21

标签: angularjs coffeescript

我通常在服务中加载数据,然后在我的控制器中请求这些数据。

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时代,我们使用了很多指针,这些指针只存储了查找数组的信息。

1 个答案:

答案 0 :(得分:1)

由于@.recipes不是您服务的私有变量,您可以使用:recipesService.recipes如果recipesService.recipes在您的控制器中发生更改,则无法观察更改寿命。