2017-07-10 4 views
1

Ich habe Probleme mit, was aussieht, dass der Angular Router die Komponente in <router-outlet></router-outlet> nachladen und unerwünschte Ergebnisse verursachen. Hat jemand irgendwelche Ideen, wie man das beheben kann?Angular 2 Fräser Nachladen Komponente

Plunker Link: https://plnkr.co/edit/yRCzbsxE0ftzqrDeRT69?p=preview

Wie kann ich es ändern, so dass die Variable nicht neu initialisiert wird, wenn zwischen Link 'eins' und 'zwei'

+0

Speichern Sie es in einem Service und holen Sie es von dort jedes Mal, wenn Sie navigieren. – Chrillewoodz

Antwort

1

abwechselnd können Sie erstellen Shared Service und injizieren es Eltern, kann dieser Dienst haben getter und setter und Sie können die Daten von dort zu teilen ... so etwas wie:

import {Injectable} from '@angular/core'; 

@Injectable() 
export class MyService { 

    public data:any; 

    setData(value:any) { 
    this.data = value 
    } 

    getData():any { 
    return this.data; 
    } 
} 

und bieten in einem Elternteil, für exa mple app.module wie folgt:

@NgModule({ 
    declarations: [ 
    AppComponent, 
    AnotherComponent, 
    SecondComponent 
    ], 
    imports: [ 
    BrowserModule, 
    FormsModule, 
    HttpModule 
    ], 
    providers: [ MyService ], //<< add it in providers section and access it inside your component... 
    bootstrap: [AppComponent] 
}) 
export class AppModule { }