Angular 4 ngFor 管道在添加元素后不重新过滤
Angular 4 ngFor pipe not re filter after add an element
我需要使用数据并首先按价格对它们进行排序管道工作正常但是当我添加新元素时它会将其添加到最后一行而不是再次对它们进行排序
<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;
}
}
前添加
添加后
通过添加 pure: false
到管道配置解决
感谢jmw5598
我需要使用数据并首先按价格对它们进行排序管道工作正常但是当我添加新元素时它会将其添加到最后一行而不是再次对它们进行排序
<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;
}
}
前添加
添加后
通过添加 pure: false
到管道配置解决
感谢jmw5598