首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何使用ng-如果显示基于当前用户的按钮?

如何使用ng-如果显示基于当前用户的按钮?
EN

Stack Overflow用户
提问于 2017-03-15 15:09:31
回答 4查看 19.4K关注 0票数 1

我正在创建一个用户配置文件,并希望显示一个编辑按钮,只为配置文件的所有者显示。我正在尝试使用ng-if,以便从DOM中删除编辑功能。

如何使用ng-如果显示基于当前用户的按钮?

我认为:

代码语言:javascript
运行
复制
<button ng-if="editProfile()">EDIT</button>

在我的控制器里:

代码语言:javascript
运行
复制
$scope.editProfile = function (canedit) {
  var canedit = false;
  for (var i=0;i<$scope.users.length;i++) {
    if ($scope.users[i].id===$scope.currentUser.id) {
      canedit = true;
     }
  }
}
EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2017-03-15 15:16:12

您的函数需要返回truefalse

代码语言:javascript
运行
复制
<button ng-if="editProfile()">EDIT</button>


$scope.editProfile = function () {
  for (var i=0;i<$scope.users.length;i++) {
    if ($scope.users[i].id===$scope.currentUser.id) {
      return true
     }
  }
  return false
}
票数 2
EN

Stack Overflow用户

发布于 2017-03-15 15:12:16

您正在从您的函数中返回任何内容。

你可以这样做

代码语言:javascript
运行
复制
<button ng-if="canEdit()">EDIT</button>

在你的控制器里

代码语言:javascript
运行
复制
$scope.canEdit = function () {
    return $scope.users.find(u=>u.id === $scope.currentUser.id) ? true : false;
}
票数 0
EN

Stack Overflow用户

发布于 2017-03-15 15:12:34

只需加上

代码语言:javascript
运行
复制
return canedit;

在关闭托架下面

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42813650

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档