2016-08-07 13 views
-1

サービスを使用して2つのコントローラ間でデータを共有しようとしていますが、データはサービスに保存されません。 マイSericeアングルサービスでデータが保存されない

angular.module('dataservice', []). 
    factory('DataService', function(){ 
     var item = {}; 

     var addItem = function(newObj) { 
      item = newObj; 
     }; 

     var getItem = function(){ 
      return item; 
     }; 

     return { 
      addItem: addItem, 
      getItem: getItem 
     }; 

}); 

私のコントローラ私はデータを読み取るしようとしたとき、私はちょうどすなわちのDataService =オブジェクト{}オブジェクト定義を取得し検査するクロムのdevのツールを使用して

angular.module('App.controllers', []).  
    controller('SaveController', function($scope, $routeParams, APIService,DataService){ 
     $scope.id = $routeParams.id; 
     $scope.book = null;  
     APIService.getBook($scope.id).success(function(response){ 
      $scope.book = response; 
      DataService.add($scope.book);//add to service 

     });   

    }). 
    controller('ReadController', function($scope,DataService){ 
     $scope.book = null; 
     $scope.book = DataService.get();//get from service 

    }) 

おかげ

すべての
+0

アズドナル、私の答えを確認してください。 – developer033

+0

@ developer033おかげで、私は質問を投げた直後にシステムがクラッシュしました。ありがとう – azdonald

答えて

2

まずあなたがこのようなあなたのメインモジュールそれを注射しなければならないので、あなたは、別のmodulefactoryを持っている:

angular.module('App.controllers', ['dataservice']) 

を次に、あなたが呼び出すことができますそのDataServicefactory ..

注:メソッドaddgetにアクセスしようとしていますが、実際にはそれぞれaddItemgetItemと名前が付けられているため、名前を変更する必要があります。

関連する問題