2017-02-27 24 views
0

我剛剛開始我的第一個Ionic應用程序,並且有點困惑。我正在使用Rails API登錄用戶,然後我想在Ionic應用程序(名稱,電子郵件等)上顯示用戶信息。在配置文件中顯示來自本地存儲的用戶數據

我似乎無法拉入用戶的電子郵件和我的根頁面上的名稱。以下是我的代碼,我很抱歉問這樣一個初學者級別的問題。

services.js

angular.module('starter.services', []) 

.factory('User', function($resource) { 
    return $resource("http://localhost:3000/api/v1/users/:id.json"); 
}) 

.factory('UserSession', function($resource) { 
    return $resource("http://localhost:3000/login.json"); 
}) 

controller.js

angular.module('starter.controllers', []) 

.controller('DashCtrl', function($scope, User) { 
    $scope.user = User.get(localStorage['userId']); 
}) 

.controller('LoginCtrl', function($scope, $location, UserSession, $ionicPopup, $rootScope) { 
    $scope.data = {}; 

    $scope.login = function() { 
    var user_session = new UserSession({ user: $scope.data }); 
    user_session.$save(
     function(data){ 
     window.localStorage['userId'] = data.id; 
     window.localStorage['userName'] = data.name; 
     window.localStorage['userEmail'] = data.email; 
     window.localStorage['userZip'] = data.zip; 
     window.localStorage['userBalance'] = data.account_balance; 
     $location.path('/tab/dash'); 
     }, 
     function(err){ 
     var error = err["data"]["error"] 
     var confirmPopup = $ionicPopup.alert({ 
      title: 'An error occured', 
      template: error 
     }); 
     } 
    ); 
    } 
}); 

製表dash.html

<ion-view title="Overview"> 
    <ion-content class="padding"> 
    <h2>Name: {{user.name}}</h2> 
    <p>Email: {{user.email}}</p> 
    </ion-content> 
</ion-view> 

正如你可以發ee從下面的屏幕截圖中看不到名稱和電子郵件的值。

enter image description here

這裏還保存在我的localStorage值的屏幕截圖。

enter image description here

+0

的 「http://本地主機:3000/API/V1 /用戶/:id.json」 什麼以.json在這裏做? !!!! –

+0

@ZeRubeus我刪除了.json,這似乎沒有什麼區別。 –

+0

爲什麼你在服務'UserSession'中使用new? –

回答

1

我想問題可能是在這一行

$scope.user = User.get(localStorage['userId']);

嘗試將其更改爲$scope.user = User.get({id: localStorage['userId']});

並檢查你怎麼在$scope.user變量接受。它可以是承諾,你將需要調整嵌套。

回答

我更新我的controller.js上面的代碼,也有一個嵌套問題我的看法就像你曾經提到。而不是{{user.name}}

在我的意見,我需要使用{{user.user.name}}

+0

感謝您的快速解決方案,我根據您的幫助,用我的解決方案更新了您的答案! –

相關問題