在angularjs 1.4.2中使用cookies

using cookies in angularjs 1.4.2

本文关键字:cookies angularjs      更新时间:2023-09-26

我正在做一个简单的"添加到购物车"系统。我希望篮子里的物品不会消失,所以我尝试使用angularjs cookie。它不需要添加cookie项,添加和删除ok。

var app = angular.module('myApp', ['ui.bootstrap','ngCookies']);
app.controller('menusCtrl', ['$cookies',function($scope, $http,$cookies) {
   $http.get("getContent.php").success(function (response) {$scope.items = response.menus;});
   $scope.basketlist = [];
   $scope.updateCart = function (index) {
    var item = $scope.items[index];
    $scope.basketlist.push({quantity: 1, price: item.menu_price,no:item.menu_no,image:item.menu_img});
    $cookies.put("basketlist",$scope.basketlist);
   }
    $scope.remove = function(index) {
      var itemtodelete = $scope.basketlist.indexOf(index);
        $scope.basketlist.splice(index, 1);
    }
}]);

插入/angularjs/1.4.2/和/1.4.2/angular-cookies.js

我得到这些错误:

TypeError: Cannot read property 'get' of undefined
at new <anonymous> (app.js:4)
at Object.e [as invoke] (angular.js:4452)
at $get.P.instance (angular.js:9001)
at S (angular.js:8111)
at g (angular.js:7543)
at g (angular.js:7547)
at angular.js:7418
at angular.js:1635
at n.$get.n.$eval (angular.js:15848)
at n.$get.n.$apply (angular.js:15947)(anonymous function) @ angular.js:12332$get @ angular.js:9111$get.n.$apply @ angular.js:15949(anonymous function) @ angular.js:1633e @ angular.js:4452d @ angular.js:1631Ac @ angular.js:1651Zd @ angular.js:1545(anonymous function) @ angular.js:28361m.Callbacks.j @ jquery.js:3148m.Callbacks.k.fireWith @ jquery.js:3260m.extend.ready @ jquery.js:3472J @ jquery.js:3503
$scope.mybasket = JSON.parse($cookies.get('mybasket'));
$cookies.put('mybasket',JSON.stringify($scope.mybasket));

我使用JSON。stringify和JSON。分析一下,它成功了。

将$scope和$http添加到控制器的参数中:

app.controller('menusCtrl', ['$scope', '$http','$cookies',function($scope, $http,$cookies) {
...
}])