我用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>发布于 2016-05-24 20:30:17
可能是版本不匹配。确保所有的angular JS模块都匹配。(请发布angular-cookies和angular的版本)。如上所述,您说您使用的是1.5x,但您的错误显然是1.2.x
--原始答案:
你应该注入$cookies而不是$cookieStore
$cookies的文档。$cookieStore已经被deprecated了。
发布于 2016-05-24 21:50:26
Angular 1.5.6 (最新的angular 1):
注意:$cookieStore服务已弃用。请改用$cookies服务。
https://docs.angularjs.org/api/ngCookies/service/$cookieStore
https://stackoverflow.com/questions/37413399
复制相似问题