javascript - Angularjs ng-if 与 ajax 请求

标签 javascript angularjs ajax angular-ng-if angularjs-ng-if

我是 angularjs 的新手,正在尝试弄清楚如何根据权限显示/隐藏导航栏元素。我目前正在通过 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

关于javascript - Angularjs ng-if 与 ajax 请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34559404/

相关文章:

javascript条件逻辑不起作用

angularjs - 在使用 karma 进行测试时,**phantom js** 比 **chrome** 有什么用?

javascript - AngularJS:访问AngularJS Controller 中的jquery变量

javascript - 如何解析引用的 html、javascript 中的背景图像 url 中的字符串?

javascript - 如何在 js 中正确制作 .map

javascript - 合并复杂的多维数组

javascript - 它还执行我的 else 语句

javascript - 指令通信时出错

php - htmlspecialchars 和 json 编码问题

javascript - 将对象数组作为 ajax 发布数据发送?