Angular Service不保存数据

时间:2016-08-07 01:56:14

标签: angularjs

我正在尝试使用服务在两个控制器之间共享数据,但数据未保存在服务中。 我的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
        };

});

我的控制器

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

    })

使用chrome dev工具检查我何时尝试读取数据,我只得到对象定义,即DataService = Object {}。

谢谢

1 个答案:

答案 0 :(得分:2)

首先,您在另一个factory中有一个module,因此您必须注入 模块像这样:

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

然后,您可以拨打DataService factory ..

注意:您尝试访问方法addget,但实际上他们分别被命名为addItemgetItem,所以你应该重命名它们。