如何在AngularJS中使用ng-repeat创建嵌套结构

前端之家收集整理的这篇文章主要介绍了如何在AngularJS中使用ng-repeat创建嵌套结构前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
使用ng-repeat,AngularJS循环问题

我在使用角度js(离子1 app)中的ng-repeat创建这个循环结构时遇到了麻烦.当我使用ng-repeat时,日期会在每个循环中重复显示每个事件.但我想只为相应的事件显示一次日期,如图所示.

@L_403_0@

解决方法

您需要一个groupBy过滤器,您可以从 angular-filter模块获取(手动编写或).只需设置一个JSON,其中包含一起列出的事件和日期.这是一个小型演示,您可以根据自己的示例进行调整:

var app = angular.module('myApp',['angular.filter']);
app.controller('myCtrl',function($scope) {
  $scope.events = [{
      "date": "Sept-1","event": "Event 1"
    },{
      "date": "Sept-1","event": "Event 2"
    },{
      "date": "Sept-2","event": "Event 3"
    },"event": "Event 4"
    },{
      "date": "Sept-3","event": "Event 5"
    },]
});
<!DOCTYPE html>
<html>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.6.9/angular.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/angular-filter/0.5.17/angular-filter.min.js"></script>

<body>

  <div ng-app="myApp" ng-controller="myCtrl">

    <div ng-repeat="(key,value) in events | groupBy: 'date'">
      - {{key}}
      <div ng-repeat="val in value">
        * {{val.event}}
      </div>
      <br>
    </div>

  </div>

</body>
</html>
@H_301_27@

猜你在找的Angularjs相关文章