Angularjs ng-if 与 ajax 请求
Angularjs ng-if with ajax request
我是 angularjs 的新手,正在尝试了解如何根据权限 show/hide 导航栏元素。我目前正在通过 ajax 请求获得权限:
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
我是 angularjs 的新手,正在尝试了解如何根据权限 show/hide 导航栏元素。我目前正在通过 ajax 请求获得权限:
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