2

情况:

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

这是我收到的错误消息:

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

步骤:

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

  1. 凉亭安装角饼干
  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 中包括:

    <script src="lib/angular-cookies/angular-cookies.min.js"></script>

  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,但问题仍然存在,并显示相同的错误消息。

问题:

我怎样才能正确设置角度饼干?为什么我收到这个错误?

4

3 回答 3

2

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

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

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

于 2015-06-24T09:33:34.097 回答
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>

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

于 2015-06-24T10:07:03.960 回答
0

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

bower install angular#1.4.1

不要忘记选择 3) angular#1.4.1。希望这能解决您的问题。

于 2015-06-24T09:51:37.260 回答