在离子项目中使用ngCookies

时间:2015-06-03 16:24:29

标签: angularjs ionic-framework ionic

我正在尝试将ngCookies包含在项目中。在angular.bundle之后,我的index.html中包含了角度cookie库。 我可以在网络选项卡上看到它实际加载的开发人员工具。加载页面时,Angular不会显示任何错误,因为通常在模块丢失时会出现错误。问题是,当我在我的代码中尝试访问$ cookies服务的功能时,$ cookies变量实际上指向一个空对象。 以下是一些相关的代码片段: 关于我app.js的定义

angular.module('myApp', [
'ionic',
'ngCookies',
'ngMessages',
'rt.eventemitter',
'myApp.views']);

在我的工厂:

 angular.module('myApp.views')
   .factory('UserStore', ['$rootScope', '$q', '$cookies', '$timeout', 
        function($rootScope, $q, $cookies, $timeout){
           var user = {};
           function setSessionId(sessionId){
                console.log(">> setting sessionId to:",sessionId);
                user.sessionId = sessionId;
                $cookies.put('sessionId', user.sessionId);
           }
           return{ setSessionId:setSessionId}
        }
]);

在这种情况下,当我尝试调用setSessionId方法时,我得到一个错误:$ cookies.put不是函数,因为如上所述,$ cookies只是一个空对象。

任何想法?

1 个答案:

答案 0 :(得分:1)

取决于您使用的角度版本!

当你设置一个你可以分配它的cookie时,它们在角度1.3中以角度1.3改变了很多:

$cookies.sessionId = user.sessionId;