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添加你的答案,我會標記它。就是這樣!謝謝! –