簡體   English   中英

用戶登錄后獲取用戶個人資料

[英]Getting user profile in angular after user logged in

在我的應用程序中,每個用戶都有一個特定的配置文件,我創建了一個服務來保存名為currentUser配置文件。

我使用此配置文件的屬性來呈現網站的標題並進行進一步的api調用。

問題是我何時應該填寫此currentProfile服務?

有幾種選擇:

1-解決登錄承諾后:

authService.login(username, pass)
    .then(function(response) {
        userService.getProfile()
            .then(function(profile){
                currentUser.setProfile(profile);
                $state.go('dashboard');
            });
    });

這種方法的主要問題是,如果用戶位於此url /main/list並刷新頁面,則currentUser將被清空。

2-像這里一樣使用ui-router deferIntercepturlRouter.sync()$urlRouter.listen() ,但是這種方法的主要問題是我的標頭指令和控制器在$locationChangeStartcurrentUser尚未填寫。

我怎樣才能達到預期效果? 任何想法都得到體現!

編輯 :我不想依靠localStorage或cookie或...。

使用ui-router,它具有resolve屬性,可確保在應用程序繼續之前加載數據。

 $stateProvider .state('main.list', { url: "/main/list", templateUrl: "views/custom/index.html", controller:MainController, resolve: { loginUser : function($q){ //load data or whatever return loadData(); } } }) 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM