2017-05-08 51 views
1

我想獲得一把umbraco當前用戶的詳細信息(還不是會員,只有用戶/管理員)來獲得當前一把umbraco用戶詳細信息。我需要用JS讓我細節,我用userService,它返回undefined ..我不知道爲什麼...... 有沒有辦法使用納克& JS來獲取當前用戶的詳細信息?如何使用JS

// JS - 例如

angular.module('umbraco').controller('LoginController', [ 

    '$scope', 
    '$http', 
    'editorState', 
    'contentResource', 
    'userService', 

    function ($scope, $http, editorState, contentResource, userService) { 

     $scope.loginAsMember = function() {            
      var _memberId = editorState.current.id; 
      $scope.curUser = userService.getCurrentUser();      
      ); 
     };  
    } 
]); 

回答

2

如果你看 '/Umbraco/Js/umbraco.contollers.js' 周圍線2170對,你可以看到userService.getCurrentUser()是如何被使用。

userService.getCurrentUser()返回一個承諾的對象,這樣你就可以以設置你的$scope.user,然後做你需要做什麼用.then()

所以,如果你可以試試...

angular.module('umbraco').controller('LoginController', [ 

    '$scope', 
    '$http', 
    'editorState', 
    'contentResource', 
    'userService', 

    function ($scope, $http, editorState, contentResource, userService) { 

     $scope.loginAsMember = function() { 
       userService.getCurrentUser().then(function (user) { 
        var _memberId = editorState.current.id; 
        $scope.curUser = user; 
        console.log($scope.curUser.name); 
       }); 
     }; 
    } 
]); 

當然,在你看來,如果你使用的{{curUser.name }},那麼雙向數據綁定應儘快用戶對象可以處理它。但是,如果你想在你的JS使用它,那麼你就需要特別小心,以確保該對象使用它通過回調和諾言之前就存在,等等。