2017-05-08 1 views
1

umbraco 현재 사용자 세부 정보를 원합니다 (회원이 아닌 사용자/관리자 만). JS를 사용하여 내 세부 정보를 얻고 싶습니다. userService를 사용하면 정의되지 않은 값을 반환합니다. 이유는 모르겠지만 ... & js를 사용하여 현재 사용자 세부 정보를 가져 오는 방법이 있습니까 ??js를 사용하여 현재 umbrac 사용자 세부 정보를 얻는 방법

// JS - 당신이 라인 2170 '주위 /Umbraco/Js/umbraco.contollers.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

, 당신은 userService.getCurrentUser()를 사용하는 방법을 볼 수 있습니다.

userService.getCurrentUser()은 약속 객체를 반환하므로 을 설정하려면 .then()을 사용할 수 있습니다. 그런 다음 수행해야 할 작업을 수행하십시오. 당신이 {{curUser.name }}를 사용한 경우

그래서보기에 ... 같은 물론

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); 
       }); 
     }; 
    } 
]); 

뭔가를한다면, 시도, 다음 두 가지 방법으로 데이터를 즉시 사용자 개체를 사용할 수로 처리해야 바인딩. 하지만 JS에서 사용하려는 경우 콜백 및 약속 등을 통해 객체를 사용하기 전에 객체가 존재하는지 확인하는 데 특별한주의가 필요합니다.

관련 문제