如何在angularJs

时间:2015-12-18 15:52:52

标签: angularjs

我有一份来自服务的项目清单:这是我的清单:

[
  {
    "itemCode":"BX0987",
    "itemId":"001",
    "date":"2015-12-09T17:03:56.869-06:00",
    "itemPrice":"$3.24"
  },
  {
    "itemCode":"BX0986",
    "itemId":"002",
    "date":"2015-12-07T17:03:56.869-06:00",
    "itemPrice":"$5.00"
  },
  {
    "itemCode":"BX0985",
    "itemId":"003",
    "date":"2015-12-16T17:03:56.869-06:00",
    "itemPrice":"$7.00"
  },
  {
    "itemCode":"BX0984",
    "itemId":"004",
    "date":"2015-12-15T17:03:56.869-06:00",
    "itemPrice":"$7.00"
  }
]

我想在视图中显示:

Current Week
BX0985 $7.00
BX0984 $7.00

Last Week
BX0987 $3.24
BX0986 $5.00

这是我的HTML代码:

<div ng-repeat="itemDate in items = (itemList()| unique:date)">
    <div id="itemDate" class="font">{{dateHeader(itemDate.date)}}</div>   
    <div ng-repeat="item in itemList()">    
        <div ng-show="dateHeader(itemDate.date) === dateHEader(item.date)" id="itemRow">      
            <div id="contents">               
                <div id="itemCode" class="font">{{item.itemCode}}</div>
                 <div id="itemPrice" class="font">{{item.itemPrice}}</div>                    
            </div>           
         </div>      
    </div>
</div>

itemList()是来自服务的数据。 dateHeader()是一个计算日期并返回currentWeek,LastWeek,...的方法。 但是我得到了这个输出:

CurrentWeek
BX0985 $7.00
BX0984 $7.00
CurrentWeek
BX0985 $7.00
BX0984 $7.00
LastWeek
BX0987 $3.24
BX0986 $5.00
LastWeek
BX0987 $3.24
BX0986 $5.00

每个项目都在重复。如何在不重复的情况下获取项目?

1 个答案:

答案 0 :(得分:0)

我会简化这个问题。 首先,为数组中的每个obj添加一个属性,给出一个周数。

e.g。 obj.weekNumber = 1

或类似的东西。每次执行代码时都会计算出来。

那天......

以角度在ng-repeat中进行ng-repeat

首先迭代可用周数列表...例如[1,2]

然后在迭代中迭代迭代对象数组

希望你能从那里拿走它

任何问题请问