-1
得到這個錯誤 「錯誤:[$注射器:CDEP]圓形依賴發現:$餅乾< - $餅乾< - AuthService」
與下面的代碼
'use strict';
angular.
module('core.auth').
factory('AuthService', [ '$http', '$rootScope', 'ConfigService', '$cookies',
function AuthService($http, $rootScope, ConfigService, $cookies) {
const service = {};
service.Login = Login;
service.SetCredentials = SetCredentials;
service.ClearCredentials = ClearCredentials;
return service;
function Login(username, password, callback) {
$http.post(ConfigService.LOGIN_API, { username: username, password: password })
.success(function (response) {
callback(response);
});
}
function SetCredentials(username) {
$rootScope.globals = {
currentUser: {
username: username
}
};
$cookies.put('globals', $rootScope.globals);
}
function ClearCredentials() {
$rootScope.globals = {};
$cookies.remove('globals');
}
}
]);
,我在登錄組件使用這項服務,什麼是錯我的代碼...如果從這裏取出$餅乾,它的工作完美
'use strict';
angular.
module('login').
component('login', {
templateUrl: 'dist/components/login/login.template.html',
controller: ['$location', 'AuthService', '$log',
function LoginController($location, AuthService, $log) {
(function initController() {
// reset login status
AuthService.ClearCredentials();
}());
this.login =() => {
AuthService.Login(this.username, this.password, (response) => {
if (response.success) {
$log.log(response);
$log.log('Login successful', true);
AuthService.SetCredentials(this.username);
$location.path('#!/products');
} else {
$log.log(response)
}
})
}
}
],
controllerAs: 'vm'
});
無法理解。也許解決方案是編寫自己的cookie服務? :)
如果沒有看到您的其他服務,很難診斷您的問題。如果您需要時間並將問題隔離在Plnkr中,網站上的某個人可能會幫助您找出問題所在。 – mcranston18
也許我爲此目的使用了錯誤的工具。我解決了問題,只是取代了ngCookies - > ngStorage。工作好:) – vanless