如何导航到不同于 app.component.ts 的组件?
How to navigate to a component different than app.component.ts?
我是 Angular 2+ 的新手,所以这可能是一个显而易见的问题。
我想导航到用户设置页面,其中导航是侧边栏而不是 header 中的菜单。为此,我想我需要以某种方式导航到不同的根组件(不是 app.component)。如何在 Angular 中最好地解决这个问题?
下面您会看到我在 app.component.html 中使用 <app-header></app-header>
的意思,它在页面顶部而不是左侧呈现导航栏边.
app.component.html
<app-header></app-header>
<router-outlet></router-outlet>
<app-footer></app-footer>
app.component.ts
import { Component, ViewEncapsulation } from '@angular/core';
import { Router } from '@angular/router';
import { AuthService } from '@core/services/auth.service';
@Component({
selector: 'app-root',
templateUrl: './app.component.html',
styleUrls: ['./app.component.scss'],
// encapsulation: ViewEncapsulation.None
})
export class AppComponent {
constructor(public authService: AuthService, private router: Router) {}
}
app.component
将始终与您的 app.module
链接,但不必是您创建整个布局的地方。
您可能希望在您的 HTML 上只留下一个 <router-outlet></router-outlet>
部分,然后根据路线创建不同的 shell/layouts。
想想 app.component
文件将需要它来引用您的根组件,但并不严格需要包含任何类型的布局。然后你可以利用布局到子组件。
我是 Angular 2+ 的新手,所以这可能是一个显而易见的问题。
我想导航到用户设置页面,其中导航是侧边栏而不是 header 中的菜单。为此,我想我需要以某种方式导航到不同的根组件(不是 app.component)。如何在 Angular 中最好地解决这个问题?
下面您会看到我在 app.component.html 中使用 <app-header></app-header>
的意思,它在页面顶部而不是左侧呈现导航栏边.
app.component.html
<app-header></app-header>
<router-outlet></router-outlet>
<app-footer></app-footer>
app.component.ts
import { Component, ViewEncapsulation } from '@angular/core';
import { Router } from '@angular/router';
import { AuthService } from '@core/services/auth.service';
@Component({
selector: 'app-root',
templateUrl: './app.component.html',
styleUrls: ['./app.component.scss'],
// encapsulation: ViewEncapsulation.None
})
export class AppComponent {
constructor(public authService: AuthService, private router: Router) {}
}
app.component
将始终与您的 app.module
链接,但不必是您创建整个布局的地方。
您可能希望在您的 HTML 上只留下一个 <router-outlet></router-outlet>
部分,然后根据路线创建不同的 shell/layouts。
想想 app.component
文件将需要它来引用您的根组件,但并不严格需要包含任何类型的布局。然后你可以利用布局到子组件。