Auf meiner eckigen 2 App habe ich ein komplett anderes Layout zwischen meiner Homepage und dem Rest der App . Der Rest der App hat nur ein Nav gemeinsam.Angular 2 Mehrere Layout-Routing
Meine URL wie folgt aussieht:
http://localhost:4200/ < == dies meine Homepage ist
http://localhost:4200/cgu < == eine Seite mit nav gemeinsam
http://localhost:4200/abc < == eine Seite mit nav gemeinsam
Kann mir jemand den besten Weg erklären, dies zu tun?
Ich habe versucht, diese Lösung zu reproduzieren:
How to switch layouts in Angular2
Aber es funktioniert nicht, oder ich Fehler gemacht, es zu meinem Fall anzupassen.
EDIT:
Schließlich habe ich versucht, Ihre Lösung Also habe ich die navigation.service.ts
@Injectable()
export class NavigationService {
isHomePage: boolean;
}
In meinem home.component.ts
@Component({
styleUrls: ['home.css'],
templateUrl: './home.component.html',
})
export class HomeComponent {
constructor(private navigationService: NavigationService) {
navigationService.isHomePage = true;
}
}
In meinem app.component.ts Ich versuche, den isHomePage-Wert zu erhalten:
export class AppComponent {
constructor(private navigationService : NavigationService) {
console.log("HELLO");
console.log(navigationService.isHomePage);
if(navigationService.isHomePage)
console.log("HOME");
}}
navigationService.isHomePage ist undefined
Was mein Fehler ist?
Haben Sie Ihren Dienst in Ihrem E-Mail-Modul zu Ihren Providern hinzugefügt? Und wie kommt es, dass Ihre 'HomeComponent' in der Komponentendeklaration keinen Selektor hat? (Beispiel: 'selector: 'app-home'') – Christopher
Dieser könnte Ihnen helfen. Es funktioniert ohne Probleme, wenn Sie nur Komponenten verwenden. https://StackOverflow.com/a/40508804/1365061 – Alex