2017-08-05 52 views
1

我需要用数据和价格第一管工作正常,但是当我添加新的元素,它在最后一行添加就不会再对它们进行排序角4 ngFor管不重过滤器添加元素

对它们进行排序后,
<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; 
    } 
} 

之前添加 before add

之后添加 after add

+1

这里是讨论管道以及它们是如何工作的一个职位。这应该可以解决你的问题。 https://stackoverflow.com/questions/34456430/ngfor-doesnt-update-data-with-pipe-in​​-angular2 – jmw5598

+0

感谢问题通过向管道添加'pure:false'解决了问题 –

回答

1

解决了pure: false增加了管结构

一切都归功于jmw5598