Angular Js:如何设置cookie?

时间:2015-06-24 09:20:19

标签: javascript angularjs cookies angular-cookies

情况:

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

这是我收到的错误消息:

<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<div ng-controller="testCtrl" ng-app>
    <div ng-repeat="p in products">
        <div ng-class="{'blue':$first,'red': !$first}" class="box"></div>
    </div>
</div>

THE STEPS:

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

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

     Unknown provider: $$cookieReaderProvider <- $$cookieReader <- $cookies <- $cookies
    
  3. 在index.html中包含:

    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

  4. 包含模块ngCookies:

    <script src="lib/angular-cookies/angular-cookies.min.js"></script>
  5. 在控制器中注入服务:

    angular.module('starter', ['ionic', 'starter.controllers', 'starter.services', 'ngCookies'])
    
    angular.module('starter.controllers', ['ngCookies'])
    
  6. 版本 - 编辑

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

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

    enter image description here

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

    问题:

    如何正确设置角度曲奇? 为什么我会收到这个错误?

3 个答案:

答案 0 :(得分:2)

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

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

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

答案 1 :(得分:1)

我会为我在新鲜时间遇到的同样问题提供完美的解决方案。

如何正确设置角度曲奇?

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

为什么我收到错误?

  

可能是您配置无效结构

不要担心版本,我认为你已经配置了正确的版本。所以刚从版本问题出来。

解决方案

请在验证下检查: -

  • 您是否在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>

我希望这两种验证都能为你做好准备。

答案 2 :(得分:0)

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

安装最新版本的角度
bower install angular#1.4.1

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