【问题标题】:how to inject $cookie in custom service of angularjs?如何在angularjs的自定义服务中注入$cookie?
【发布时间】:2017-03-07 14:25:44
【问题描述】:

我正在使用 angularjs,根据它的documentation,我最常使用带有 ngCookies 的 cookie。我用这个结构添加了 ngCookie:

  1. 将 angular.js 和 angular-cookies.min.js 添加到我的 index.html 中
  2. 使用此代码将 ngCookie 注入我的应用程序:

    var app = angular.module('test',
    ['ngRoute','ngAnimate','ngFileUpload','ngSanitize','ngCookies']);
    
  3. 现在我将 ng-cookie 注入到我自己的服务中:

    app.service("transactionService",
    
      ["$cookie", "$http","sessionStorageService",
      function($cookie, $http, sessionStorageService){
    
            $cookies.put("unique_code",123456);
            console.log(sessionStorageService.getCurrentUser().sessionid);
            console.log($cookies.get("unique_code"));
            return;
        }
    ]);
    

但我收到此错误: 错误:[$injector:unpr]

我哪里错了?

【问题讨论】:

    标签: javascript angularjs cookies


    【解决方案1】:

    服务的名称是 $cookies 而不是 $cookie

    在开发使用完整版(未缩小版)的 angular 时的旁注,它提供了更好的错误代码。 Error: $injector:unpr 已记录在案并广为人知:

    此错误是由于 $injector 无法解析 需要的依赖。要解决此问题,请确保定义了依赖项 并且拼写正确

    【讨论】:

    【解决方案2】:

    你拼错了$cookies

         ["$cookie", "$http","sessionStorageService",
                ^
      function($cookie, $http, sessionStorageService){
    

    Error: $injector:unpr => “未知的提供者错误”

    查看injector:unpr error

    还有 $cookies 文档here

    【讨论】:

      【解决方案3】:

      如果你使用旧的 Angular 版本,那么你应该使用 $cookieStore 而不是 $cookie

      app.service("transactionService",[
      "$cookieStore","$http","sessionStorageService",
      
      function($cookieStore, $http, sessionStorageService){
      
          $cookieStore.put("unique_code",123456);
          console.log(sessionStorageService.getCurrentUser().sessionid);
          console.log($cookieStore.get("unique_code"));
          return;
      }]);
      

      【讨论】:

        【解决方案4】:

        我终于找到了我的错,这真的很简单和愚蠢...... 我的 Angular js 版本是 1.3.0,但我从 Angular 版本 1.4.4 获取 cookie :(

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2016-08-22
          • 1970-01-01
          • 2016-09-02
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2014-05-07
          • 1970-01-01
          相关资源
          最近更新 更多