需要优化多重ng-repeat和ng-if

时间:2016-12-29 15:57:56

标签: javascript html angularjs optimization

我已经写了一些Angular代码,但我并不为此感到骄傲。任何人都可以为我提供以下任何可能的优化:

**上下文(我猜不是真的需要......):**

我想显示不同公司将不同类型的旅行分组的平均长度。 在我的Angular控制器中,我在我的范围内初始化了4个对象阵列:

  • tripDoneWithGuide - >与指南一起发生并完成的旅行列表。
  • tripOngoingWithGuide - >与指南一起发生但尚未完成的旅行列表。
  • tripDoneWithoutGuide - >没有指南而已完成的旅行列表。
  • tripOngoingWithoutGuide - >与指南一起发生但没有完成的旅行列表。

这些列表中的每个对象都有2个属性:

  • companyId - >该公司的ID已经实现了这次旅行。
  • avgLength - >这家公司的平均旅行时间。

基本上他的任何一个都是这样的:    {   "对象":{     " companyId":" 1",     " avgLength":" 30"   },   " object2":{     " companyId":" 2",     " avgLength":" 60"   } }

所以,这就是我迄今为止所做的:

**代码部分:**

<div ng-repeat="tDWG in tripDoneWithGuide">
<span> Average Length Trip for the Company : {{ tDWG.companyId }}</span>
<span> Avg Length Trip Done With Guide : {{ tDWG.avgLength }}</span>
<span ng-repeat="tDWOG in tripDoneWithoutGuide" ng-if="tDWG.companyId ==  tDWOG.companyId">
Avg Length Trip Done Without Guide : {{ tDWOG.avgLength }}
</span>
<span ng-repeat="tOWG in tripOngoinWithGuide" ng-if="tDWG.companyId ==  tOWG.companyId">
Avg Length Trip Ongoing With Guide : {{ tOWG.avgLength }}
</span>
<span ng-repeat="tOWOG in tripOngoinWithoutGuide" ng-if="tDWG.companyId ==  tOWOG.companyId">
Avg Length Trip Ongoing Without Guide : {{ tOWOG.avgLength }}
</span>
</div>

它的工作方式......我设法将结果按公司分组。 但是1)我并不为这段代码感到骄傲,我觉得有很多不必要的循环...

2)当一家公司没有某种旅行的价值时,没有任何东西出现,看起来很奇怪......我更喜欢使用默认值,例如&# 34; 0&#34;出现,就像在switch指令中一样。

你建议我用什么样的优化方法?我知道这不是真正的高级算法,但我还在努力......

和PS:抱歉我的英文,如果这篇文章没有意义,我很抱歉,请告诉我,我会尝试以另一种方式重写它。

感谢大家提前

0 个答案:

没有答案