角度-$ cookies是未定义的

Asa*_*evo 3 javascript cookies angularjs

我正在尝试在控制器中使用Angular cookie,但由于某些原因,它始终是未定义的:

MyApp.controller('ValidationController', ["$cookies", function($cookies) {
    debugger; //checking $cookies here return an object
    $cookies.put("test","test"); //trying to add value to the cookie here return TypeError: undefined is not a function
    alert(JSON.stringify($cookies));

}]);


var MyApp = angular.module("MyApp", [
    "ui.router",
    "ui.bootstrap",
    "oc.lazyLoad",
    "ngSanitize",
    "ngCookies"
]);
Run Code Online (Sandbox Code Playgroud)

这是完整的堆栈错误:

TypeError: undefined is not a function
    at new <anonymous> (CookiesController.js:6)
    at Object.e [as invoke] (angular.min.js:37)
    at $get.z.instance (angular.min.js:76)
    at angular.min.js:59
    at s (angular.min.js:7)
    at v (angular.min.js:59)
    at g (angular.min.js:52)
    at angular.min.js:51
    at angular.min.js:17
    at l.$get.l.$eval (angular.min.js:126)
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?

Pan*_*kar 5

似乎$cookies在提供Angular 1.4.0的 同时在angular 1.3.10中没有setter ,请参阅其文档。

您可以通过两种方法解决您的问题。

  1. 如果您想呆在一起,请angular 1.3.10使用$cookieStoreobject而不是$cookies
  2. 将角度升级到1.4.0.beta.6最新版本

希望这可以对您有所帮助,谢谢。