0

Ich verwende table plugin und pagination plugin. Mein Ziel ist es, die aktuelle Seitennummer aus der Seitenumbruchkomponente zu ermitteln und sie in die Tabellenkomponente einzufügen. Wie ist das möglich? Bereits versucht:Angular 2 erhalten dynamischen Wert zwischen den Komponenten

import { PaginationComponent } from '../+pagination/pagination.component'; 
@Component({ 
... 
    providers: [PaginationComponent] 
}) 
public currPage: number; 
public constructor(private pagin: PaginationComponent) { 
    this.currPage = this.pagin.page; 
} 

was funktioniert, aber keine Änderungen festgestellt. Was muss ich ändern, damit Änderungen erkannt werden?

Antwort

1

Wenn Sie es verwenden:

<pagination (pageChanged)="pageChanged()"></pagination> 

Innerhalb der Klasse, die oben verwendet:

export class SomethingThatUsesPagination{ 
    pageChanged($event){ 
     this.pageService.onChanged$.emit($event); 
    } 
} 

und die einen Dienst erstellen und es in beiden Komponenten injizieren

@Injectable() 
export class PageService{ 
    public onChanged$ = new EventEmitter(); 
} 

und dann in der anderen Komponente, die über Paginierung Zeug wissen muss:

export class OtherComponent{ 
    constructpr(public pageService: PageService){ 
     pageService.onChanged$.subscribe(($event) => { 
      console.log('$event',$event); 
     }); 
    } 
} 

Dies ist zwei Komponenten kommunizieren über einen Dienst.

+0

Kann ich zwei Parameter einstellen? Sagen wir zwei getrennte Strings? Brauche ich zwei Fächer und zwei Observable? – TeodorKolev

Verwandte Themen