2017-08-05 36 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