簡體   English   中英

如何在Angular JS的工廠/服務中使用$ cookie?

[英]How to use $cookie in factory/service in angular js?

在我正在構建的應用程序之一中,我想在service(.factory(...))中使用$ cookie。

當我使用$ cookie時,出現$ injector / module錯誤。 在這方面有人可以幫助我嗎?

這是我寫的代碼。

app.factory("AuthenticationService", function($location,$cookies,setUserCreds) 
{

 return {

  login: function(credentials) {
    if (credentials.username == "MyName" || credentials.password == "admin") {
        $cookies.put("userName",credentials.username);          
        $location.path('/home');

   } 
}}});

這是角度文檔中的示例:

myApp.factory('apiToken', ['clientId', function apiTokenFactory(clientId) {
  var encrypt = function(data1, data2) {
    // NSA-proof encryption algorithm:
    return (data1 + ':' + data2).toUpperCase();
  };

  var secret = window.localStorage.getItem('myApp.secret');
  var apiToken = encrypt(clientId, secret);

  return apiToken;
}]);

'clientId'是模塊知道服務所依據的名稱,而傳遞給工廠函數的參數是工廠所知道的名稱。 您只有參數。

您的外觀應如下所示:

app.factory("AuthenticationService",['$location', '$cookies', 'setUserCreds', function($location, $cookies, setUserCreds) {
    ...
}]);

該$ injector錯誤通常等於“您在談論什么服務?”

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM