您的位置:首頁技術文章
文章詳情頁

angular.js - angular登錄完成后,如何正確在header顯示用戶數據

瀏覽:159日期:2024-10-05 16:07:21

問題描述

angular.js - angular登錄完成后,如何正確在header顯示用戶數據

如圖所示:右上角紅框內是登錄成功后,用戶名顯示的位置

我現在是通過angular事件傳遞來做的。每次手動刷新頁面后,用戶的數據就取不到了。這是應該用那種方式來做比較好?求指教!

LoginController:登錄視圖控制器

function LoginController($rootScope, $scope, $state, $window, AUTH_EVENTS, AuthService, ProfileService) { var vm = this; vm.login = login;function login() { var userInfo = {username: vm.username,password: vm.password }; AuthService.login(userInfo).then(function () {ProfileService.fetchUserInfo().then(function (res) { $scope.$emit(AUTH_EVENTS.loginSuccess, res); $state.go(’app.program.list’);}) }) } }

AppCtrl:系統框架控制器,包含header

function AppCtrl($rootScope, $scope, $state, $translate, $localStorage, $window, $document, $timeout, cfpLoadingBar, AuthService, AUTH_EVENTS) { $rootScope.$on(AUTH_EVENTS.loginSuccess, function (e,data) { $rootScope.user = data.data; }); })

問題解答

回答1:

angular.module('myApp',[]).run(function (AuthService) { AuthService.login();})

国产综合久久一区二区三区