【发布时间】:2016-07-01 09:45:54
【问题描述】:
几个小时后我就对这个问题感到震惊,并努力解决这个问题,
所以我在这里发布一些我的文件,
这是我的 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 也被调用了两次。
很久以前就到这里了,所以请有人帮我解决这个问题。
如果我的 End 需要其他任何东西,我很乐意为您提供这些
【问题讨论】:
标签: angularjs angular-services angular-controller