2016-06-01 4 views
2

JSON 파일의 목록이 하나있는 페이지가 있습니다. 내가 원하는 것은 능동태로 주문을 추가하는 것입니다. @Pipe를 사용해야하거나 간단한 방법이 필요한 경우 아직 이해가 안됩니다. 모달 페이지에서이 작업을 수행 할 계획입니다. 미리 도움을 주셔서 감사합니다. modalpage.html :ionic 주문 목록 2

<ion-toolbar danger> 
    <ion-buttons start> 
    <button (click)="close()"> 
     <ion-icon ios="ios-close" md="md-close"></ion-icon> 
    </button> 
    </ion-buttons> 
    <ion-title text-center> 
    Ajustes 
    </ion-title> 
    <ion-buttons end> 
    <button (click)="applyFilters()"> 
     <ion-icon ios="ios-checkmark" md="md-checkmark"></ion-icon> 
    </button> 
    </ion-buttons> 
</ion-toolbar> 
<ion-content padding class="rojo"> 
    <h2 text-center>Ordenar resultados por:</h2> 
</ion-content> 

modalpage.js

import {Page, NavController,ViewController} from 'ionic-angular'; 

@Page({ 
    templateUrl: 'build/pages/ajustes-listado/ajustes-listado.html', 
}) 
export class AjustesListadoPage { 
    static get parameters() { 
    return [[NavController],[ViewController]]; 
    } 

    constructor(nav, viewController) { 
    this.nav = nav; 
    this.viewCtrl = viewController; 
    } 

    close(data) { 
    this.viewCtrl.dismiss(data); 
    } 
    applyFilters(){ 
    console.log('aplicando filtros a la lista'); 
    this.close(); 
    } 
} 

list.html

<ion-navbar *navbar danger> 
    <ion-title text-center>Listado</ion-title> 
    <ion-buttons start *ngIf="buscar==false"> 
    <button (click)="search()"> 
     <ion-icon ios="ios-search" md="md-search"></ion-icon> 
    </button> 
    </ion-buttons> 
    <ion-buttons end> 
    <button (click)="options()"> 
     <ion-icon ios="ios-options" md="md-options"></ion-icon> 
    </button> 
    </ion-buttons> 
</ion-navbar> 
<ion-content class="listado"> 
     <ion-list [virtualScroll]="vets"> 
     <button ion-item text-wrap *virtualItem="let vet" (click)="goToDetails(vet)"> 
      <ion-avatar item-left> 
       <!-- <ion-img [src]="vet.img || defaultImg"></ion-img> --> 
       <img src="{{vet.img}}" onError="this.src='./files/gmaps.png';" /> 
      </ion-avatar> 
      <h2>{{vet.nombre}}</h2> 
      <p>Direccion: {{vet.direccion}}</p> 
     </button> 
    </ion-list> 
</ion-content> 

list.js

import {DetallesPage} from '../detalles/detalles'; 
import {OnInit} from '@angular/core'; 
import {Page, NavController, Platform, NavParams, Modal} from 'ionic-angular'; 
import {MiServicio} from '../../providers/mi-servicio/mi-servicio'; 
import {AjustesListadoPage} from '../ajustes-listado/ajustes-listado'; 

@Page({ 
    templateUrl: 'build/pages/listado/listado.html', 
    providers:[MiServicio] 
}) 
export class ListadoPage { 
    static get parameters() { 
    return [[NavController],[Platform],[MiServicio]]; 
    } 

    constructor(nav,platform, miServicio) { 
    this.nav = nav; 
    this.platform = platform; 
    this.miServ = miServicio; 
    this.ngOnInit(); 
    } 

    ngOnInit() { 
    this.miServ.getVets().subscribe(
     data => this.vets = data 
    ); 
    }  
} 

답변

2

Angular2 해 orderBy 필터를 제공하지 않는다 (지금 "파이프") 앵글라처럼 r 1 않습니다.

각도는 목록 필터링 또는 정렬을 위해 파이프와 함께 제공되지 않습니다. Angular 1에 익숙한 개발자는 필터 및 orderBy로이를 알고 있습니다. 2. 각도
에는 등가물이 없습니다은 참조 : https://angular.io/docs/ts/latest/guide/pipes.html#!#no-filter-pipe

당신은 당신의 구성 요소의 항목을 정렬해야합니다. 가장 좋은 옵션은 항상 서버 측에서 정렬하는 것이지만, 몇 가지 항목 만 있거나 클라이언트 측 정렬을 원한다면 array.sort() 메소드를 사용할 수 있습니다.

예와 문서 :

당신은 그것이 영구적 인 데이터가되지 않는, 그래서 당신이하는 JSON 파일의 목록을했다?
이것 좀보세요 : Sorting with map
이것이 최선의 선택이라고 생각합니다.