Angularjs ng-show 方法被调用太多次[重复]

2023-12-13

我有一个 ng-repeat 循环,它循环 3 个事件。在每个事件中,我想检查登录的用户是否是与该事件关联的团队的玩家。

问题是,我的代码正在进入is_player()每次加载页面大约30次。这显然会导致问题,因为它试图在不到一秒的时间内调用 GET 方法 30 次。

为什么这个问题被调用这么多次?我该如何解决这个问题?

<div class="list-group" ng-repeat="event in events">

     <div ng-show="is_player(event.team_id, profile.id)">
         ...
     </div>
</div>

控制器方式

/**
     * Checks if a user is a player on the team. Need this method so that managers of a team can't rsvp if they're only a manager and not a player
     * @param team_id   - The team id of the event that we want to check if the user plays on
     * @param user_id   - The user that we want to check if they're a player of a team
     */
    $scope.is_player = function(team_id, user_id) {

        console.log('in is_player');

            $http.get(baseUrl+'v1/teams/' + team_id + '/players' + apiKey)
                .success(function(response) {

                    console.log("getting a team's players");
                    var players = response;

                    // Loop through all the players on the team
                    for(var i = 0; i < players.length; i++) {

                        //If the current player in the loop's user id matches what was passed in
                        if(players[i].user.id == user_id) {
                            return true;
                        }
                    } 

                    $scope.error = null;
                })
                .error(function(response) {
                    $scope.success = null;
                    $scope.error = 'An error occurred looking for your events. Please try again later.';
                }); 

        return false;
    }

the ng-show由于数据绑定,每个摘要周期都会运行。当您从服务器获取“事件”的数据时,请考虑在服务器或前端对事件进行数据修剪。一般来说,您想要创建像 ng-show light 函数这样的函数,或者简单地对应于属性上的布尔值。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Angularjs ng-show 方法被调用太多次[重复] 的相关文章

随机推荐

  • C++ 中的编译器版本、名称和操作系统检测

    我需要使用 C 检测操作系统名称 编译器名称和编译器版本 因为我需要更改每种情况的设置 我怎样才能做到这一点 对于大多数编译器 您可以找到预定义宏的列表 VS http msdn microsoft com en us library b0
  • 在 Windows 上使用 Cygwin64 编译器和调试器为 C 设置 VS Code(错误:无法启动调试)

    我正在尝试将 VSCODE 设置为debugWindows 上使用 Cygwin64 的 C 程序 我使用了 stephw建议的配置 在 Windows 上使用 Cygwin64 编译器和调试器为 C 设置 VS Code 但它对我不起作用
  • 将 dplyr 查询保存到 dbplyr 中的不同架构

    我有一个 JDBC 连接 想要从一个模式查询数据并保存到另一个模式 library tidyverse library dbplyr library rJava library RJDBC access the temp table in
  • Plotly R:根据折线图中的不同线条更改悬停信息字体颜色

    我想更改一些折线图线的悬停信息字体颜色 但不是全部 这是一些与我的代码类似的代码 number lt rep c 00 01 02 each 4 animal lt rep c cat dog mouse each 4 year lt re
  • 按钮上的长文本会弄乱 GridLayout 行

    我有一个 GridLayout 用于承载多个按钮 按两列排序 所有按钮都有固定的高度和宽度 如果其中一个按钮包含太多文本 布局就会混乱 我希望布局能够正确维护行 无论按钮是否有太多文本 我将在稍后处理显示太多文本的情况 使用文本的自动大小
  • T/F:在过程中使用 IF 语句会产生多个计划

    在回应this问题 KM 说 如果您使用的是 SQL Server 2005 或更高版本 则可以使用 IF 在同一过程中进行多个查询 并且每个查询都会为其保存一个查询计划 相当于旧版本上的每个查询的过程 请参阅我的答案中的文章或此链接到正确
  • 如何在查询字符串中安全地包含密码

    是否可以在 C asp net 站点的查询字符串中安全地包含密码 我所知道的一些假设和事情 该网站没有也不会有与其他网站的链接 图像 javascript 分析 因此无需担心引用链接 与 Web 浏览器的所有通信都将通过 https 进行
  • 如何在Python中动态添加If Else语句?

    目前 我开发了一个脚本 该脚本将读取传入 最新的电子邮件并根据某些条件 例如电子邮件主题和文本 过滤电子邮件 当用户选择subject or text 他们可以选择要过滤电子邮件的条件 等于 不包含等 我的问题我有一个演示网站 可以让用户添
  • 如何阻止 X Window 接收用户输入?

    我想在 Linux 桌面上创建一些窗口以用于简单的布局 我需要避免用户输入到这些窗口 并且我认为避免窗口获得焦点就足以实现这种情况 我认为我可以用xprop命令 通过设置WM HINTS属性 但我还没有找到有关如何执行此操作的具体文档 顺便
  • Passport.js - 使用 Passport-local 对来自 MongoDB 的用户进行身份验证

    我的 MongoDB 中有一个简单的用户集合 我使用 mongo native 驱动程序 email email protected password 123456 id oid 50658c835b821298d3000001 当我通过电
  • 将参数传递给 main

    我知道这是相当基本的 但我仍然被困住 所以我有一个需要接受变量 n 的函数 所以这是我的主要函数 int main int argc char argv sort argv 1 我这样调用该程序 sort 4
  • Typescript 枚举作为指定对象中的键预期会出现错误,但没有

    在使用枚举作为对象键时 我遇到了 TS 的一些奇怪行为 我期望 TS 错误 但事实并非如此 我不明白为什么 enum List sm sm md md export interface Dictionary
  • mpatches.FancyArrowPatch 太短

    我想用mpatches FancyArrowPatch绘制许多路径 单个图中数百条 我以前用过plt arrow 但它使绘图窗口变慢 并且比补丁方法花费更长的时间 无论如何 当我开始使用时mpatches Arrow我在大尺度上得到了很好的
  • 错误:.net 中的 db.SaveChanges() 发生引用完整性约束违规?

    我创建了一个 WPF 应用程序Entity framework 4 0 当我尝试插入记录时PhoneNumber表成功插入第一条记录 但是 当我循环遍历某个列表并尝试将另一个项目插入到PhoneNumber表插入记录但显示错误为 Inval
  • 使用 Scipy 与 Matlab 拟合对数正态分布

    我正在尝试使用 Scipy 拟合对数正态分布 我之前已经使用 Matlab 完成了此操作 但由于需要将应用程序扩展到统计分析之外 我正在尝试在 Scipy 中重现拟合值 下面是我用来拟合数据的 Matlab 代码 Read input da
  • HERE Routing API V8:如何获取具有多个经过路径点的路线

    在 v7 中 这是获取具有多个经过路径点的路线的方法 https route api here com routing 7 2 calculateroute json waypoint0 32 353514 61 126775 waypoi
  • PermissionError: [Errno 13] 访问 aws ec2 时权限被拒绝

    我在虚拟机 在 Mac 上 上运行 ubuntu 16 04 在 aws ec2 ubuntu 18 04 上运行 我正在尝试运行 Jupiter 笔记本aws ec2并尝试通过本地 Ubuntu 上的网络浏览器远程访问它 我能够访问远程
  • 如何在 React 组件中从另一个文件渲染 HTML?

    是否可以在 React 组件中从另一个文件渲染 HTML 我已经尝试过以下方法 但它不起作用 var React require react Template html var template require template modul
  • OleDB更新命令不改变数据

    我使用 Microsoft Access 文件作为数据库 我没有问题SELECT and INSERT查询 但当我尝试UPDATE 数据库中的记录不会改变 下面是我用来运行更新的代码 调试日志中没有异常或错误 cnn new OleDbCo
  • Angularjs ng-show 方法被调用太多次[重复]

    这个问题在这里已经有答案了 我有一个 ng repeat 循环 它循环 3 个事件 在每个事件中 我想检查登录的用户是否是与该事件关联的团队的玩家 问题是 我的代码正在进入is player 每次加载页面大约30次 这显然会导致问题 因为它