2016-08-29 2 views
0

Ich habe ein Dashboard, wo ich ein Super Admin bin. Ich erstelle ein Benutzerprofil, wo ich alle meine Profildaten sehen kann. Jetzt habe ich eine Tabelle aller Benutzer, und ich möchte Benutzerprofil für einen Benutzer öffnen und bei Bedarf bearbeiten. ist hier HTML-Code für die Anrufbenutzerprofil() für angemeldete Benutzer

<a href="#" class="btn btn-primary btn-block btn-sm" ui-sref="user-profile/:userID">{{'USER_PROFILE'| translate}}</a> 

Und hier ist ctrl, wo ich Zustand rufen params

.controller('userProfileCtrl', ['$scope', '$stateParams', '$state', '$http','userProfileFactory', 
function ($scope, $stateParams, $state, $http, userProfileFactory) { 
$scope.authentication = authService.authentication; 
$scope.userID = $scope.authentication.userID; 
$stateParams.userID = $scope.userID; 
$scope.user = userProfileFactory.get({user: $stateParams.userID}); 
    $scope.user.$promise.then(function (data){ 
    console.log(data.id); 
    return data; 
}); 

Jetzt möchte ich Tabelle einige Benutzer auswählen, in und sein Profil öffnen

<tr ng-repeat="user in users|filter:f" such-href="user-profile/{{user.id}}"> 

Und rufen einige Benutzerprofil mit diesem ctrl

$http.get(serviceBase + 'users/'+ $stateParams.userID +'/aaaa/').success (function(data){ 
      $scope.media = data.media; 
      }); 

Und hier ist ui-Zustand

.state('user-profile/:userID', { 
       url: '/user-profile/:userID', 
       templateUrl: 'aaaa/aaa/aaaae/user-profile.html', 
       controller: 'aaaaCtrl' 
      }) 

Problem ist, jedes Mal wenn ich Benutzerprofil öffnen, ich meine Daten im Profil (Super-Administrator-Daten) zu bekommen.

Antwort

0

Ich habe $ rootScope für die user_id gesetzt, um es für die globale Verwendung zu bekommen. Wenn Sie nun die App starten, erhalten Sie den angemeldeten Benutzer.

$scope.authentication = authService.authentication; 
$rootScope.user_id = $scope.authentication.userID; 
$scope.user = userProfileFactory.get({user: $stateParams.userID}); 
$scope.user.$promise.then(function (data){ 
    return data; 
}); 

Nun ist diese in HTML verwenden.

such-href="user-profile/{{user_id}}. 

Jetzt haben Sie den angemeldeten Benutzer.

Um den Admin zu öffnen, öffnen Sie das Benutzerprofil wie zuvor, aber verwenden Sie stattdessen: USERID in der Fabrik.

<tr ng-repeat="user in users|filter:f" such-href="user-profile/{{user.id}}"> 
Verwandte Themen