2015-06-03 20 views
0

我想將ngCookies包含在一個項目中。 angular cookies庫包含在我的index.html中的ionic.bundle之後。 我可以在其實際加載的開發人員工具的網絡選項卡上看到。加載頁面時,Angular不會顯示任何錯誤,因爲它通常在缺少模塊時發生。問題是,當我在我的代碼中嘗試訪問$ cookies服務的函數時,$ cookies變量實際上指向一個空對象。 這裏有一些相關的代碼片段: 在我app.js在一個離子項目中使用ngCookies

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

這取決於你使用哪個角度版本!他們在角1.4中進行了很多改變..在角1.3中,當你設置一個cookie時,你可以指定它:''$ cookies.sessionId = user.sessionId;'' –

+0

就是這樣!謝謝。我將現有的Web應用程序移植到離子應用程序,並且Web應用程序正在使用Ionic目前尚不支持的1.4版本。這將會非常好玩。 PD。太糟糕了,你沒有發佈你的評論作爲答案,因爲你確實回答了我的問題。 ;-) –

回答

1

它取決於您使用的角度版本!

他們的角度1.4改變了很多。在角1.3當您設置一個cookie你可以指定它:

$cookies.sessionId = user.sessionId;

相關問題