1
我是新来的angularjs,并试图找出如何根据权限显示/隐藏导航栏元素。我目前通过Ajax请求获取权限:Angularjs ng-if with ajax request
mycloudControllers.controller('HeaderController', ['$scope', '$http',
function($scope, $http) {
$http.get('/api/header').then(function(data) {
$scope = data.data;
console.log($scope);
});
}
]);
HTML:
<div ng-if="viewFiles || updateFiles" class="col-xs-12 col-sm-6 col-md-4 col-lg-3">
JSON响应(执行console.log):
{viewAccounts: true, viewAccountTypes: true, viewFiles: true, updateFiles: true}
控制台登录正确的权限(设置为true),但我无法弄清楚如何让编译器等待请求完成后执行ng-if。我想使用ng-if如此,DOM元素被完全删除而不是隐藏。
我可能会这样做是错误的,所以任何可以摆脱的灯将不胜感激。
您正在覆盖整个范围。尝试在其上定义一个属性:$ scope.permissions = data.data – marko
@marko添加你的答案,我会标记它。就是这样!谢谢! –