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

前端之家收集整理的这篇文章主要介绍了Angular2排序数组,用于在html中显示* ngFor前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在遍历所有帖子
<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

猜你在找的Angularjs相关文章