我使用angularjs,根据其文档,我大多数使用ngCookies的cookie。我添加了具有以下结构的ngCookie:
- 将angular.js和angular-cookies.min.js添加到我的index.html
-
使用以下代码将ngCookie注入我的应用程序:
var app = angular.module('test', ['ngRoute','ngAnimate','ngFileUpload','ngSanitize','ngCookies']);
-
现在我把ng cookie注入到我自己的服务中:
app.service("transactionService", ["$cookie", "$http","sessionStorageService", function($cookie, $http, sessionStorageService){ $cookies.put("unique_code",123456); console.log(sessionStorageService.getCurrentUser().sessionid); console.log($cookies.get("unique_code")); return; } ]);
但我得到了这个错误:错误:[$injector:unp]
我哪里错了?
服务的名称是$cookies
而不是$cookie
。
注意,当开发使用完整版本(未缩小)的角度时,它提供了更好的错误代码。Error: $injector:unpr
有文件记载,并且众所周知:
此错误是由于$injector无法解决必需的依赖关系。要解决此问题,请确保定义了依赖项并且拼写正确。
您拼错了$cookies
["$cookie", "$http","sessionStorageService",
^
function($cookie, $http, sessionStorageService){
Error: $injector:unpr
=>"未知提供商错误"
检查注射器:无错误
此处还有$cookies文档
如果您使用旧的Angular版本,那么您应该使用$cookieStore而不是$cookie
app.service("transactionService",[
"$cookieStore","$http","sessionStorageService",
function($cookieStore, $http, sessionStorageService){
$cookieStore.put("unique_code",123456);
console.log(sessionStorageService.getCurrentUser().sessionid);
console.log($cookieStore.get("unique_code"));
return;
}]);
我终于发现了我的错,这真的很简单,很愚蠢。。。。我的angular js版本是1.3.0,但我从angular版本1.4.4得到了cookie:(