我打這個問題從幾個小時,敲打我的腦袋來解決這個問題,角服務調用兩次
所以我在這裏張貼一些我的文件,
這是我的index.html
<body ng-app="app" ng-class="!$auth.isAuthenticated()? 'page-header-fixed page-sidebar-closed-hide-logo page-content-white' : 'login'" >
<!-- NAVIGATION -->
<div data-ng-include="'app/views/common/header/header.html'" style="width:100%;"></div>
<div class="clearfix"> </div>
<!-- MAIN CONTENT -->
<div class="page-container">
<div data-ng-include="'app/views/common/sidebar/sidebar.html'"></div>
<div class="page-content-wrapper">
<div ui-view></div>
</div>
</div>
<div data-ng-include="'app/views/common/footer/footer.html'" class="page-footer" style="bottom:0;"></div>
<script src="app/scripts/login/services/login.service.js"></script>
<script src="app/scripts/login/controllers/login.controller.js"> </script>
<script src="app/scripts/common/services/local.storage.js"></script>
<script src="app/scripts/common/services/authentication.service.js"></script>
只是提了,我已經添加登錄控制器,服務,本地存儲和驗證js文件
這是我的控制器
angular.module('app').controller('loginController',['loginService', 'toastr', '$state', 'authenticationService',function (loginService, toastr, $state, authenticationService) {
var vm = this;
vm.login = function (userModel) {
loginService.login(userModel, function (response) {
if (response.status === 200) {
authenticationService.setCredentials(response.data);
$state.go('companyList');
return;
}
if(response.status === 400) {
return toastr.error("login Failed");
}
});
}
}]);
我的服務有:
(function() {
'use strict';
angular.module('app').factory('loginService', loginService);
loginService.$inject = ['httpi', 'API','$localStorage'];
function loginService(httpi, API, $localStorage) {
var service = {};
service.login = login;
service.setUserDetails = setUserDetails;
service.getUserDetails = getUserDetails;
return service;
function login(user, callback) {
httpi({
method:"post",
url: API.login,
data: {
email:user.email,
password:user.password
}
}).then(function (response) {
callback(response);
}, function (response) {
callback(response);
});
}
function setUserDetails(data) {
$localStorage.setObject("userData", data);
}
function getUserDetails() {
return $localStorage.getObject("userData");
}
}
})();
的問題是,這個登錄服務被調用了兩次。 供參考。我經歷了類似的問題,我沒有添加控制器兩次,角度文件兩次,ui-view兩次,服務兩次,我沒有ng-show,ng-hide的東西
所以我找不到解決方案,
我不知道這個服務被調用兩次。我也驗證了authentication.js,我也嘗試過使用開發人員工具,但找不到解決方案。
由於我的服務被調用了兩次,toastr這個控制器的依賴關係也被調用了兩次。
很久以前從這裏衝過來,所以有人請幫我解決這個問題。
如果有的話是從我端所需否則我會很樂意爲您提供這些