加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

Angular2排序数组,用于在html中显示* ngFor

发布时间:2020-12-17 08:33:53 所属栏目:安全 来源:网络整理
导读:我正在遍历所有帖子 li *ngFor="let post of posts" 当我显示每个帖子的日期时: {{post.date | date:'yyyy-MM-dd HH:mm:ss'}} 我想要做的是按照最新的顺序显示所有帖子. 我尝试过使用如下管道: li *ngFor="let post of posts | order-by-pipe" import {Pip
我正在遍历所有帖子
<li *ngFor="let post of posts">

当我显示每个帖子的日期时:

{{post.date | date:'yyyy-MM-dd HH:mm:ss'}}

我想要做的是按照最新的顺序显示所有帖子.

我尝试过使用如下管道:

<li *ngFor="let post of posts | order-by-pipe">
import {Pipe,PipeTransform} from '@angular/core';

@Pipe({
 name: 'order-by-pipe'
})
export class OrderByPipe implements PipeTransform{

 transform(array: Array<string>,args: string): Array<string> {

  if(!array || array === undefined || array.length === 0) return null;

    array.sort((a: any,b: any) => {
      if (a.date < b.date) {
        return -1;
      } else if (a.date > b.date) {
        return 1;
      } else {
        return 0;
      }
    });
    return array;
  }

}

但它不起作用.我收到错误:

TypeError: Cannot read property 'toUpperCase' of undefined ("
[ERROR ->]*ngFor="let post of posts | order-by-pipe">

欢迎任何帮助,谢谢

当你使用order-by-pipe作为选择器时,它试图找到变量order by和pipe,并知道谁知道它们是什么.

更改名称:在您的管道中,orderByPipe可以解决问题.

那很奇怪.

这是一个相同代码的演示,不同的名称:http://plnkr.co/edit/BXkrPqeMYuJMhkx94i6M?p=preview

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读