当前位置: 首页 > 面试题库 >

带有日期的ng-repeat角表

谭池暝
2023-03-14
问题内容

我有一个带有不同事件的JSON对象,如下所示:

{
   "error":false,
   "events":[
      {
         "id":1,
         "title":"First entry",
         "date":"2014-11-04"
      },
      {
         "id":2,
         "title":"Second entry",
         "date":"2014-11-04"
      },
      {
         "id":3,
         "title":"Third entry",
         "date":"2014-11-05"
      },
      {
         "id":4,
         "title":"Fourth entry",
         "date":"2014-11-06"
      },
      {
         "id":5,
         "title":"Fifth entry",
         "date":"2014-11-06"
      }
   ]
}

该对象存储在我的控制器的$ scope.events中。

现在,我循环此数组以构建事件列表:

<ion-list>
<div class="item item-divider">
  {{event.date}}
</div>  
  <a class="item item-thumbnail-left" href="#/app/event/{{event.id}}" ng-repeat="event in events">
  <img src="media/thumbnails/{{event.id}}.jpg">
  <h1>{{event.title}}</h1>
  </a>
</ion-list>

我的目标是每天将{{event.date}}作为列表分隔符显示一次。因此,在此示例中,它应如下所示:

2014-11-04(分隔线)

  • 第一次进入

  • 第二次进入

2014-11-05(分隔线)

  • 第三次进入

2014-11-06(分隔线)

  • 第四次进入

  • 第五项

我是离子和角膜的新手,我不知道该如何实现。可以使用一些自定义过滤器吗?

总而言之,我正在寻找与Angular类似的东西:使用带有分隔符/分隔符的ng-repeat获取列表,但使用日期作为分隔符而不是首字母。

有什么想法吗?

任何帮助/提示真的很感激!


问题答案:

您可以使用angular.filters(https://github.com/a8m/angular-
filter
)按日期对列表进行分组,请参见下面的演示

var app = angular.module('app', ['angular.filter']);



app.controller('homeCtrl', function($scope) {



  $scope.data = {

    "error": false,

    "events": [{

      "id": 1,

      "title": "First entry",

      "date": "2014-11-04"

    }, {

      "id": 2,

      "title": "Second entry",

      "date": "2014-11-04"

    }, {

      "id": 3,

      "title": "Third entry",

      "date": "2014-11-05"

    }, {

      "id": 4,

      "title": "Fourth entry",

      "date": "2014-11-06"

    }, {

      "id": 5,

      "title": "Fifth entry",

      "date": "2014-11-06"

    }]

  }





});


<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>



<script src="//cdnjs.cloudflare.com/ajax/libs/angular-filter/0.4.9/angular-filter.min.js"></script>



<div ng-app="app">

  <div ng-controller="homeCtrl">



    <ion-list ng-repeat="(key, value) in data.events | groupBy: 'date'">

      <div class="item item-divider">

        <h1> {{key}}</h1>

      </div>



      <a class="item item-thumbnail-left" href="#/app/event/{{event.id}}" ng-repeat="event in value">

        <img src="media/thumbnails/{{event.id}}.jpg">

        <h3>{{event.title}}</h3>

      </a>

    </ion-list>





  </div>


 类似资料:
  • 问题内容: 我正在尝试使用生成一个可编辑列表。我想提醒用户在继续操作之前更新所有编辑内容,因此我正在使用中动态创建“嵌套”表单,因为文档说我可以在这些动态创建的输入上使用验证。 尽管这似乎可以在HTML中运行,但我看不到如何在控制器中访问那些动态创建的表单和相关的验证字段。具体来说,当用户更改输入时,我使用$ dirty属性形式调出一个按钮来告诉用户提交更改。到目前为止,一切都很好。但是,一旦提交

  • 问题内容: 我有一个JSON对象,表示为: 我需要在 第二 层上做一个中继器,列出“虚假”数字。 我已经知道如何获得最高水平 但是我不清楚循环降级的顺序。例如,这是错误的: 我也知道如何 嵌套 中继器来实现这一点,但是在这种情况下,我根本不需要显示顶层。 澄清说明 这里的目标是有一个带有4个“伪”数字的列表(每个包裹有2个,顺序中有2个包裹)。 问题答案: 大量搜索不错的简单解决方案以进行动态迭代

  • 问题内容: 嗨,我有一个简单的ng-repeat-start和end用例,并且工作正常,当我想添加一个内部ng-repeat时出现了问题。这是我的代码 内部ng-repeat到td元素中不起作用,在检查html源代码时看到ngRepeat注​​释,但未创建td元素。 我的丑陋的解决方法(假设我知道该向量的大小)是: 问题答案: 从那时起,我不确定是否使用角度1.1.6,并且在1.1.5或1.0.7

  • 问题内容: 有没有什么好方法可以使用angular过滤列表而不使用ng- repeat?我不想首先使用javascript绘制列表,但是之后我想使用angular对其进行过滤。 例: 我想使用搜索框来过滤现有的html。 (一般请不要使用ng-repeat或jQuery给出任何示例) 问题答案: 您可以编写一个简单的指令来处理显示/隐藏: 并以这种方式使用它: 使用指令有两个好处: 1)。您不必在

  • 问题内容: 我正在尝试通过键入日期范围来过滤包含时间戳的列表 例如: JSFIDDLE html javascript 我希望能够用值填充“发件人”字段:27-05-2010 并且“ To”字段的值为:29-07-2015 并仅获取该范围内的记录。 (示例中的第一条记录)。 谢谢分配阿维 问题答案: 您可以创建一个自定义过滤器来实现此目的。 JSFIDDLE html javascript 此外,

  • 问题内容: 我试图了解over 的意义。角度文档提供了以下示例 但是,使用, 有人可以解释。的意义吗?谢谢。 问题答案: 这两个指令的含义相似:它们重复HTML标记。所不同的只是,在您的帮助下,您可以重复几个标签,从标签开始于,再到完成于。 例如,您有下一个代码: 因此,现在我们可以为这些代码添加2个指令。 与: 与和: 因此,现在您可以看到,在第一种情况下,仅使用指令重复,但是在第二种情况下,您