如果登录用户属于特定组,则隐藏或显示带有 Angular js 的图像

Hide or Show an image with Angular js if logged on User belongs to a particular group

我正在使用 SharePoint 2010。如果登录的用户属于 Approvers 组,我想显示图像,否则隐藏图像。我正在使用 Angular js 和 Jquery。 下面是我的一部分 html.

<tr >
 <td style="width: 20%;" data-ng-controller="checkUserGroup">
     <input type="text" id="isuseringroup"/>
    <img data-ng-show="isuseringroup === 1" src="Images/Create.png" style="height: auto; width: 250px;" />
 </td>
</tr>

下面是我的angularjs代码

myApp.controller('checkUserGroup', [function () {
angular.element(document).ready(function () {
        $().SPServices({
        operation: "GetGroupCollectionFromUser",
        userLoginName: $().SPServices.SPGetCurrentUser(),
        async: false,
        completefunc: function (xData, Status) {
            if ($(xData.responseXML).find("Group[Name='Approvers']").length == 1) {
                document.getElementById('isuseringroup').value = "1";
                alert("login inside of the Group user");

            }
            else {
                document.getElementById('isuseringroup').value = "0";
                alert("login outside of the Group user");

            }
        }
    });
});

}]);

图像从未显示。即使我说 data-ng-show="isuseringroup === 0" 请让我知道我做错了什么。已经花了 2 个小时试图解决这个问题。

您必须使用 ng-model 才能进行绑定。

在你的js中替换

document.getElementById('isuseringroup').value = "1";

$scope.isuseringroup = "1";

您还必须在控制器中注入 $scope

myApp.controller('checkUserGroup', [function ($scope) {

您不再需要输入,但如果您想保留它,请将其更改为使用 ng-model

<input type="text" ng-model="isuseringroup"/>