$ window对象在其他模块中不可用

时间:2014-12-10 07:16:27

标签: javascript angularjs

我为AngularJS应用创建了两个独立的模块。在我登录后的第一个模块中,我将登录信息和API密钥存储在$window对象中。

$window.sessionStorage["apiKey"] = apiKey;
$window.sessionStorage["profile"] = profile;

但是,我无法访问第二个模块中的窗口对象。

我的问题:
我可以使用任何工厂服务从其他模块访问窗口对象吗? 或者,我如何在$window对象中保留属性?

1 个答案:

答案 0 :(得分:2)

您应该为此目的使用服务

创建

var myService = function ($http) { // injecting $http just for the sake of it
    var service = {};
    service.name = "My Service";

    return service;
};

添加到模块

app.service('myService', ['$http', myService]);

注入 Controller

app.controller('MyController', ['$scope', 'myService', function ($scope, myService) {
    $scope.serviceName = myService.name;
}]);