我想要获取umbraco当前用户的详细信息(不是成员,只是用户/管理员)。我需要使用JS获取我的详细信息,我使用userService,它返回未定义的..我不知道为什么..。有没有办法使用ng &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();
);
};
}
]);发布于 2017-06-28 00:54:17
如果你看一下第2170行附近的'/Umbraco/Js/umbraco.contollers.js‘,你可以看到userService.getCurrentUser()是如何被使用的。
userService.getCurrentUser()返回一个promise对象,因此您可以使用.then()来设置您的$scope.user,然后执行您需要做的事情。
所以试试像这样的..。
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中使用它,那么在通过回调和承诺等方式使用它之前,你需要特别注意确保该对象存在。
https://stackoverflow.com/questions/43849655
复制相似问题