2017-04-17 2 views
0

ich eine Anwendung entwickle, wo ich Router-Ausgang wie untenAngular2: Router Auslass-Seite nicht aktualisiert, wenn die Komponente gleich ist

{ path: 'dashboard/:id', component: DashboardComponent} 

So konfiguriert haben, wenn ich auf den ersten Link dh klicken Armaturenbrett/1 die Seite aktualisiert. Wenn ich auf das zweite Link-Dashboard/2 klicke, wird die Seiten-URL aktualisiert, aber die Ansicht wird nicht aktualisiert. Aber wenn ich eine Aktualisierung mache, wird es aktualisiert.

Meine Übersicht Komponentenansicht ist als unten

<div #coloneanchor></div> 
    </div> 

<div class="col-md-6"> 
<div #coltwoanchor></div> 
</div> 

My Dashboardcomponent.ts

@ViewChild ('coloneanchor', {read: ViewContainerRef}) coloneanchor: vorhanden; @ViewChild ('Coltwoanchor', {lesen: ViewContainerRef}) Coltwoanchor: any;

this.route.params.subscribe(param => { 
     this.id = param["id"]; 
     this.userService.getGadgets(this.id).subscribe(gadgets => { 

switch(gadget) 

case gadget1: 
case gadget2: 

Hier erstelle ich aus meiner Sicht zwei Ankerpunkte. Sobald ich die ID erhalte, werde ich sie an eine API übergeben, um das Gadget und die Daten und deren Spaltenposition abzurufen. Ich durchlaufe die Gadgets und füge sie zu den Ankerpunkten hinzu.

+0

Wie sieht Ihre DashboardComponent aus? –

+0

Es dauert die ID und macht einige API-Aufrufe zum Laden von Grids und Diagrammen. Ich sehe, dass DashboardComponent Reuse implementieren muss, aber ich denke, das existiert nicht mehr. https://github.com/angular/angular/issues/6910 – indra257

Antwort

1

Versuchen Sie unten in Ihrem DashboardComponent,

constructor(private route: ActivatedRoute){} 
    ngOnInit(){ 
    this.route.params.subscribe(param => { 
     let id = param["id"]; 
     /// reload grid and charts...   
    }) 
    } 

hoffe, das hilft !!

+0

Es funktioniert. Vielen Dank. – indra257

+0

Die Raster und Diagramme werden an die vorherige Ansicht angehängt. Gibt es eine Möglichkeit, die vorherige Ansicht vor dem Hinzufügen zu entfernen? – indra257

+0

Wird nicht in der Lage sein zu helfen, bis ich den Code sehe .. wie Sie Gitter hinzufügen .. –

Verwandte Themen