如果登录用户属于特定组,则隐藏或显示带有 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"/>
我正在使用 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"/>