【发布时间】:2018-01-13 06:08:11
【问题描述】:
我需要使用数据并首先按价格对它们进行排序,管道工作正常,但是当我添加新元素时,它会将其添加到最后一行并且不再对它们进行排序
<tr *ngFor="let game of gameslist | orderBy: 'amount'" (click)="GameClick(game.id)">...</tr>
我的烟斗
import { Pipe, PipeTransform } from '@angular/core';
@Pipe({
name: 'orderBy'
})
export class OrderByPipe implements PipeTransform {
transform(array: Array<string>, args: string): Array<string> {
array.sort((a: any, b: any) => {
if ( a[args] > b[args] ) {
return -1;
}else if ( a[args] < b[args] ) {
return 1;
}else {
return 0;
}
});
return array;
}
}
【问题讨论】:
-
这是一篇讨论管道及其工作原理的帖子。这应该可以解决您的问题。 stackoverflow.com/questions/34456430/…
-
感谢通过将
pure: false添加到管道解决的问题
标签: angular ngfor angular-pipe