我已经在angularjs中创建了一个服务,这对我来说似乎很好但是当我向服务中注入$ cookieStore时它给了我一个未被捕获的错误,我不知道为什么会这样。
错误:
angular.js:36Uncaught Error: [$injector:unpr] http://errors.angularjs.org/1.2.16/$injector/unpr?p0=%24%24cookieReaderProv…ieReader%20%3C-%20%24cookies%20%3C-%20%24cookieStore%20%3C-%20loginService
服务档案:
myApp.factory('loginService', ['$q','$http','API_SERVER','$cookieStore',function ($q, $http, API_SERVER,$cookieStore) {
var login = function(username,passowrd){
// some code
},
var logout = function(username,passowrd){
//some code
}
return {
login: function (username, password) {
return login(username, password);
},
logout: function (username, token) {
return logout(username, token);
},
};
}]);
如果我删除$ cookieStore,那么它可以正常工作。但是包含上面的代码会引发错误。此外,如果我将$ scope添加到服务中,则会抛出未被捕获的错误。
app.js:
var myApp = angular.module('myApp', ['ngRoute',
'ui.bootstrap',
'ngCookies',
'ngResource',
'ngSanitize',
])
的index.html
<script src='{% static "js/angular.min.js" %}'></script>
<script src='{% static "js/ui-bootstrap-tpls-0.11.2.min.js" %}'></script>
<script src='{% static "js/angular-route.min.js" %}'></script>
<script src='{% static "js/angular-animate.min.js" %}'></script>
<script src='{% static "js/angular-resource.min.js" %}'></script>
<script src='{% static "js/angular-cookies.min.js" %}'></script>
<script src='{% static "js/angular-sanitize.min.js" %}'></script>
答案 0 :(得分:1)
可能是版本不匹配。确保所有角度JS模块都匹配。 (请发布angular-cookies&amp; angular的版本)。据说你说你使用1.5x,但你的错误显然是1.2.x
- 原始答案:
您应该注射$cookies
与$cookieStore
$cookies的文档。 $cookieStore
已deprecated。
答案 1 :(得分:0)
Angular 1.5.6(最新角度1):
注意:不推荐使用$ cookieStore服务。请使用$ cookies 服务而不是。
https://docs.angularjs.org/api/ngCookies/service/$cookieStore