以下是该方案。
我正在向服务器发出$.get()
请求以了解用户的角色,例如,如果用户是administrator
,normal
用户或{ {1}}。一旦我从PHP user with elevated privileges
获得该值,我返回一个json对象,然后我解析并开始检查它是否是上面提到的任何用户:
$_SESSION
然后我在下面一行的控制器内触发我的功能:
$scope.getMenuType = function(){
$.get('controllers/getUserType.php', function(result){
dataForHubMenu = $.parseJSON(result);
console.log(dataForHubMenu);
if(dataForHubMenu.userType == 'normal'){
$scope.menuType = '<normal-menu></normal-menu>';
} else if(dataForHubMenu.userType == 'admin'){
$scope.menuType = '<administrator-menu></administrator-menu>';
} else if(dataForHubMenu.userType == 'director'){
$scope.menuType = '<director-menu></director-menu>';
}
});
};
一旦我这样做,我希望我的变量$scope.getMenuType();
具有正确的jQuery对象进行打印。因此,在我的HTML中,我执行以下操作:
$scope.menuType
在Chrome控制台中,我尝试<div ng-controller="HubController as hub" class="container">
<div class="row">
<div class="col-md-6 col-md-offset-3">
<div class="well">
<h1 class="text-center">Panel de Control</h1>
<hr>
{{hub.menuType}}
</div>
</div>
</div>
</div>
console.log()
的值来查看变量是否有任何值,这就是我得到的:
menuType
console.log(angular.element($(".container")).scope().menuType);
undefined VM2228:2
undefined
发生在控制器内部和控制台内的chrome上,两种情况下的输出相同。
我不确定为什么会这样。我的指示如下:
console.log()
知道我可能做错了什么吗?这是我正在尝试做的正确方法吗?我刚刚完成了@ codeschool的角度课程,我正在尝试使用这个小项目中的高级功能。