【问题标题】:Angular Js: How to setup cookies?Angular Js:如何设置 cookie?
【发布时间】:2015-06-25 03:21:27
【问题描述】:

情况:

我需要在我的 Angular 应用程序中使用 cookie。 我已经按照正确的步骤在我的应用程序中正确设置 ngCookies 模块,但不知何故它不起作用。

这是我收到的错误消息:

 Unknown provider: $$cookieReaderProvider <- $$cookieReader <- $cookies <- $cookies

步骤:

这些是我已经完成的步骤:

  1. bower 安装 angular-cookies
  2. 在凉亭中选择第一个选项:

     angular#1.3.13 which resolved to 1.3.13 and is required by angular-animate#1.3.13, angular-sanitize#1.3.13, ionic#1.0.0
    
  3. 在 index.html 中包括:

    &lt;script src="lib/angular-cookies/angular-cookies.min.js"&gt;&lt;/script&gt;

  4. 包含模块 ngCookies:

    angular.module('starter', ['ionic', 'starter.controllers', 'starter.services', 'ngCookies'])
    
    angular.module('starter.controllers', ['ngCookies'])
    
  5. 在控制器中注入服务:

    .controller('MainCtrl', function( $scope, $rootScope, $cookies ) 
    

版本 -- 编辑

我认为问题可能与版本有关,因为这些是以前的版本:

Angular 版本:1.3.13
Angular-cookies 版本:1.4.1

然后我将 angular 重新安装到最新版本:#1.4.1 并重新安装 angular-cookies,但问题仍然存在,并显示相同的错误消息。

问题:

如何正确设置 angular-cookie? 为什么会出现这个错误?

【问题讨论】:

  • 请使用选项 3 尝试一次。Angular 应该是最新版本。并且它将向后兼容所有其他插件和现有应用程序代码。

标签: javascript angularjs cookies angular-cookies


【解决方案1】:

角度包的版本应该与您使用的角度版本相同。因此,在这种情况下,您希望将 1.3.13 用于 angular cookie。

Angular 不使用语义版本控制,也不一定向后兼容。

编辑:我不确定 1.4 是否已经发布。如果有,您可以考虑切换到较新的版本。

【讨论】:

    【解决方案2】:

    我会为我刚毕业时遇到的同样问题提供完美的解决方案。

    如何正确设置 angular-cookies?

    你已经做了很多了。这对你来说已经足够了。

    为什么会出现这个错误?

    可能是你配置了无效的结构

    不用担心版本,我想你已经配置了正确的版本。所以刚从版本问题中走出来。

    解决方案

    请检查下验证:-

    • 您是否在index.html 屏幕中输入了正确的脚本路径?
    • 请将 cookie.js 放在您的主模块代码运行之前。

      像下面这样的格式

      <script src="Scripts/angular.js"></script>// angular script
      <script src="Scripts/angular-cookies.min.js"></script>// cookie script
      <script src="app/home/home.js"></script>//my sub module js for home  screen
      <script src="app/app.js"></script>// this is my main module js, here i configure the cookie
      
      • 删除索引页面中已安装的脚本。刚刚过去,再试一次⌚

    <script src="//ajax.googleapis.com/ajax/libs/angularjs/1.2.19/angular.js"></script> <script src="//ajax.googleapis.com/ajax/libs/angularjs/1.2.19/angular-cookies.js"></script>

    我希望这两个验证都对你有用。

    【讨论】:

    • 感谢您的回复。我已经仔细检查过,路径和顺序都是正确的..奇怪。事实上,它应该可以工作。我一直在检查,其他人在此期间也遇到了同样的问题。就像在这个问题中一样:stackoverflow.com/questions/30859779/…这可能是当前的错误?
    • Yes 正在工作!包括 angular-cookies 作为 CDN 现在可以正常工作。但路径是正确的。是因为版本吗?还不明白问题的原因,但非常感谢!
    【解决方案3】:

    最新的 angular-cookies 似乎使用 AngularJS v1.4.1,但默认情况下 angular 安装 v1.3.x。使用安装最新版本的角度

    bower install angular#1.4.1
    

    别忘了选择 3) angular#1.4.1。希望这能解决您的问题。

    【讨论】:

    • 我已经安装了最新版本 1.4.1 的 angular 并卸载并重新安装了 angular-cookies。但不幸的是仍然存在同样的问题
    • @johnnyfittizio 你确定你有正确的 angular-cookie 文件路径吗?尝试删除所有其他模块并仅使用 ngCookies。我在 github 上创建了一个示例 repo。请查看github.com/me-nabinsingh/cookie-issue
    • 非常感谢您的努力!我已经尝试了您的建议,但问题仍然存在。
    • 你能创建一个新的 git repo 并在那里上传你的文件吗?我会检查有什么问题。
    • 谢谢。似乎已经解决了,包括 angular-cookies 作为 CDN
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-08-27
    • 1970-01-01
    • 2013-01-09
    • 2012-07-17
    • 2017-03-07
    • 1970-01-01
    相关资源
    最近更新 更多