2017-08-22 5 views
0

私はAngular 4のシンプルなムービーリストアプリケーションを作成しています。私は、HTTP GETリクエストを作成して、jsonファイルに保存されているすべてのムービーを取得します。 「Id」、「Title」、「Genre」、「Duration」などのフィールドがあります。すべての映画をリストしているとき、どのようにIDの降順で並べ替えることができますか?jsonオブジェクトを注文する

ここで私は、このJSONデータを取得するために使用していたコードです:

私のデータサービスファイルの場合:私のオン

export class MainComponent implements OnInit { 
    movies: Movies[]; 
    username:string; 
    userimg:string; 

    constructor(private userService:UserService, private dataService:DataService) { } 

    ngOnInit() { 

    this.dataService.getMovies().subscribe((movies) =>{ 
     this.movies = movies; 
    }); 


    } 


} 

interface Movies { 
    id:number, 
    title:string, 
    year:number, 
    rating:number, 
    cover:string, 
    genre:string, 
    duration:string, 
    description:string, 
    favourite:number 
} 

:私のcomponent.tsファイルで

getMovies(){ 
     return this.http.get('assets/data/movies.json') 
     .map(res => res.json()); 
    } 

は、 component.htmlファイル:

<div *ngFor="let movie of movies" class="row row-movies"> 
       <a [routerLink]="['/movies', {'id': movie.id}]"> 
       <div class="col-md-9"> 
        <h3> {{movie.title}}</h3> 
        <h4> {{movie.year}}</h4> 
        <h4> {{movie.rating}}</h4> 
        <p>{{movie.description}}</p> 
        <h5> {{movie.genre}}</h5> 
        <h5> {{movie.duration}}</h5> 
       </div> 
       <div class="col-md-3"> 
        <img src="../assets/img/capas/movies/{{movie.capa}}" class="img-responsive capa-filme" width="350px" /> 
       </div> 
       </a> 
     </div> 

私を助けてくれますか?私はまだ角度のある非常にnoobです。

答えて

1

変更する並べ替えを必要としない場合は、データを取得するとして、あなたはそれを行うことができます。

this.dataService.getMovies().subscribe((movies) =>{ 
     movies.sort((a, b) => { 
      return a.id < b.id ? 1 : -1; 
    }); 
    this.movies = movies; 
}); 

注:これは構文チェックしませんでした。

関連する問題