Angular.js应用程序在ng-repeat中包含无限的摘要循环,并使站点不负责任

时间:2016-02-27 06:25:51

标签: javascript angularjs

我遇到了摘要循环的问题,并且不知道如何以不会使网站处于不负责任状态的方式处理此事。我的代码如下所示:

<div ng-controller="TeamController as tm">
   <div ng-repeat="team in tm.teams">
      <a href="">{{team.name}} - <span ng-init="tm.getTeamBusiness(team.id)">{{business.name}}</span></a>
   </div>
</div>

这使得网站不负责任,这里可能有超过100个团队,每次迭代我都会向每个团队发出新的请求以找到业务,这不是一个好主意,我确实想要添加业务直接来自API,如:

$teams = Team::with('business')->get();

在视图中这样做:tm.teams.business.name,但我不喜欢这样,因为我不想加载我展示团队的每个团队的业务。在某些情况下,我不需要为每个团队展示始终的业务。假设我有数百万个团队,并且附加业务会使查询更重。

我会非常感激,如果有人愿意给我任何建议,那么最佳做法是什么。

2 个答案:

答案 0 :(得分:0)

&#13;
&#13;
var app = angular.module("app",[]);
app.controller("TeamController",function($scope){
  var tm = this;
  tm.teams = [
    
        {
          id:0,
          name:"A",
          
        },
        {
          id:1,
          name:"B",
          
        },
        {
          id:2,
          name:"C",
          
        }
  
  
  ];
  tm.business = [
    {name:"a"},
    {name:"b"},
    {name:"c"}
  ];
  
  tm.getTeamBusiness = function(id){
      return tm.business[id].name;
  }
 
  });
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>

<div ng-app="app" ng-controller="TeamController as tm">
   <div ng-repeat="team in tm.teams">
      <a href="">{{team.name}} - <span ng-bind="tm.getTeamBusiness(team.id)"></span></a>
   </div>
</div>
&#13;
&#13;
&#13;

答案 1 :(得分:0)

您可以使用=INDIRECT("'"&A1&"'!B2")指令:

ng-bind