我正在使用angularjs并根据其documentation我最常使用带有ngCookies的cookie。我添加了这个结构的ngCookie:
使用以下代码将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:unpr]
我错在哪里?答案 0 :(得分:4)
服务名称为 $cookies
,而非$cookie
。
开发使用完整版(未缩小)角度时的旁注,它提供了更好的错误代码。 Error: $injector:unpr
已被记录并且众所周知:
此错误是因为$ injector无法解析a 必要的依赖。要解决此问题,请确保已定义依赖项 并且拼写正确。
答案 1 :(得分:2)
您拼错了$cookies
["$cookie", "$http","sessionStorageService",
^
function($cookie, $http, sessionStorageService){
Error: $injector:unpr
=> “未知提供商错误”
另外$ cookies文档here
答案 2 :(得分:2)
如果你使用旧的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;
}]);
答案 3 :(得分:0)
我终于发现了我的错,这真的很简单愚蠢.... 我的角度js版本是1.3.0,但我从角度版本1.4.4获得cookie :(