如何使用多于1个表达式正确实现ng-if

时间:2015-08-18 09:01:09

标签: javascript jquery popup angular-material

我有这个用户列表,当你点击一个用户时,会弹出一个弹出框。在此弹出框中,您将看到用户的名称和颜色选择器。请注意,当您以用户身份登录时,您只能在列表中单击您的名称,然后将显示弹出框。以管理员身份登录时,可以单击任何用户以查看弹出框。在此弹出框中,管理员可以查看用户的名称,并可以选择删除所选用户。目前在管理员的弹出框中还有一个颜色选择器。

我现在想要实现的是,当您以管理员身份登录时,可以看到每个用户的弹出框,其中包含他的姓名和删除该用户的选项(因此我需要隐藏颜色选择器)。踢球者是当前登录用户必须可以看到颜色选择器(无论是管理员还是用户)。

我希望我的解释清楚,有些人可以帮助我。

我能够记录用户的角色ID以及用户ID

弹出框(颜色选择器部分)的部分代码:

<div class="colorPickerWrapper" ng-if="user._id==activeUser && role._id ==currentRole">
       <div ng-repeat="color in colors" ng-style="{'background-color': color}"  
       class="color-tile" ng-click="pickColor(color)"></div>
</div>

我app.js代码的一部分:

//START CONTROLLER
angular.module('zazzleToolPlannerApp')
    .controller('CalendarCtrl', function ($scope, $mdDialog, $http, $rootScope, $timeout, User, Auth, UserService, TaskService) {
        $scope.isAdmin = Auth.isAdmin;
        $scope.getCurrentUser = Auth.getCurrentUser;

        $scope.currentRole = $scope.getCurrentUser().role_id;
        console.log('%%%%%%%555555 currentRole', $scope.currentRole);

        $scope.activeUser = $scope.getCurrentUser()._id;
        console.log('????????????  logging active/current user id', $scope.activeUser);

});

以下是使用带有颜色选择器的弹出框登录的管理员的视觉效果。正如您在控制台中看到的,我登录用户和角色ID - &gt; enter image description here

我知道这段代码不正确

ng-if="user._id==activeUser && role._id==currentRole"

当我使用上面的这段代码运行应用程序时,弹出框没有颜色选择器(无论我是以用户还是管理员身份登录)

1 个答案:

答案 0 :(得分:0)

你可以使用三元表达式

ng-if="(user._id==activeUser && role._id==currentRole)?true:false"