使用 AngularJS 创建 cookie

Posted

技术标签:

【中文标题】使用 AngularJS 创建 cookie【英文标题】:Create cookie with AngularJS 【发布时间】:2015-05-21 07:00:52 【问题描述】:

我尝试使用下面的代码来设置cookies:

angular.module('myApp').controller('myController', ['$scope', '$http','$cookies', function ($scope, $http, $cookies) 

    $scope.setMyCookie = function () 
        $cookies.put('Mykey', 'MyValue');    
    ;
    $scope.setMyCookie();
]);

我更新到 1.3.14 版本的 angular cookie,我知道有一个重大变化,但是我现在应该如何编写上面的代码?

运行上面的代码我得到这个错误:Error: $cookies.put is not a function


更新: 我必须在 2 个文件中执行此操作:

var app = angular.module('myApp', ['ngRoute']);

app.config(['$routeProvider', '$httpProvider', function ($routeProvider, $httpProvider) 

]);

angular.module('myApp', ['ngCookies']).controller('cookiesExample', ['$cookies', function ($cookies) 
    // Retrieving a cookie
    var favoriteCookie = $cookies.myFavorite;
    // Setting a cookie
    $cookies.myFavorite = 'oatmeal';
]);

【问题讨论】:

【参考方案1】:

你必须在你的模块中注入ngCookies

angular.module('myApp', ['ngCookies'])

【讨论】:

【参考方案2】:

通过设置$cookies 变量发生:

angular.module('cookiesExample', ['ngCookies'])
.controller('ExampleController', ['$cookies', function($cookies) 
  // Retrieving a cookie
  var favoriteCookie = $cookies.myFavorite;
  // Setting a cookie
  $cookies.myFavorite = 'oatmeal';
]);

你的版本:

angular.module('myApp', ['ngCookies'])
.controller('myController', ['$scope', '$http','$cookies', function ($scope, $http, $cookies) 

  // Retrieving a cookie
  var favoriteCookie = $cookies.myFavorite;
  // Setting a cookie
  $cookies.myFavorite = 'oatmeal';
]);

Source


注意: 请记住在您的 html 中包含 <script src="angular-cookies.js">

【讨论】:

好吧,当我这样做时,我的页面绝对没有加载 专为您编辑.. ;) 当然包含“angular-cookies.js”。我尝试了您的代码,只需更改控制器名称和模块名称。该页面不再加载 检查小错误是否丢失;或其他。你可以使用这个工具:developers.google.com/closure/utilities【参考方案3】:

您的模块中缺少ngcookies

angular.module('myApp', ['ngCookies'])

【讨论】:

以上是关于使用 AngularJS 创建 cookie的主要内容,如果未能解决你的问题,请参考以下文章

使用 AngularJS 创建 cookie

使用 angularjs 创建对象列表

使用 Kendo UI 和 AngularJS 创建基本数据网格

使用 angularjs 创建图表

AngularJS进阶(四十)创建模块服务

AngularJS - 创建一个使用 ng-model 的指令