当前位置: 首页 > 知识库问答 >
问题:

主路由器出口内的路由器出口不显示任何没有错误的内容

督灿
2023-03-14

我似乎找不到问题所在,因为我没有收到Angular的错误。

我试图在主路由器出口内设置一个路由器出口来显示一个组件。我正确选择了路由器,但它没有显示我在第二个插座中选择的组件。

app-routing.module.ts

import { NgModule } from '@angular/core';
import { Routes, RouterModule } from '@angular/router';


const routes: Routes = [
    { path: 'dashboard', loadChildren: () => import('./pages/dashboard/dashboard.module').then(m => m.DashboardModule) }
];

@NgModule({
    imports: [RouterModule.forRoot(routes)],
    exports: [RouterModule]
})
export class AppRoutingModule { }

dashboard-routing.module.ts

// ...

const routes: Routes = [
    { path: '', component: DashboardComponent },
    { path: 'forms', component: FormsComponent, outlet: 'sidebar' },
];

@NgModule({
    imports: [RouterModule.forChild(routes)],
    exports: [RouterModule]
})
export class DashboardRoutingModule { }

dashboard.component.html

<app-header></app-header>

<mat-sidenav-container>
    <mat-sidenav mode="side" opened>
        <mat-nav-list>
            <a mat-list-item [routerLink]="[{ outlets: { sidebar: ['forms'] } }]" routerLinkActive="active">Forms</a>
        </mat-nav-list>
    </mat-sidenav>
    <mat-sidenav-content>
        <main class="bfa-main">
            <router-outlet name="sidebar"></router-outlet>
        </main>
    </mat-sidenav-content>
</mat-sidenav-container>

<app-footer></app-footer>

路由器链路被正确选择并显示活动类以及链路:

http://localhost:4200/dashboard/(侧栏:表单)

但是,当我期望在名为sidebar的内部路由器出口中看到forms组件时,这里没有显示任何内容,也没有错误

有人知道我错过了什么吗?

谢谢。

共有1个答案

辛建业
2023-03-14

决定使用ng-content将仪表板作为每个仪表板组件的包装器

<app-header></app-header>

<mat-sidenav-container>
    <mat-sidenav mode="side" opened>
        <mat-nav-list>
            <a mat-list-item [routerLink]="['forms']" routerLinkActive="active">Forms</a>
            <a mat-list-item [routerLink]="['users']" routerLinkActive="active">Users</a>
            <a mat-list-item [routerLink]="['posts']" routerLinkActive="active">Posts</a>
            <a mat-list-item [routerLink]="['pages']" routerLinkActive="active">Pages</a>
        </mat-nav-list>
    </mat-sidenav>
    <mat-sidenav-content>
        <main class="bfa-main">
            <ng-content></ng-content>
        </main>
    </mat-sidenav-content>
</mat-sidenav-container>

<app-footer></app-footer>
 类似资料:
  • 我试图从这个链接使用Angular Universal用SSR呈现Angular 7应用程序https://angular.io/guide/universal.我认为我已经从那里开始工作了,因为我能够查看页面源代码,并查看应用程序中的所有内容。呈现到页面的组件。但是,我无法呈现标记内的任何路由 我只是简单地剥离了我的应用程序,完全按照留档所说的去做。我在那里读到一些关于确保在app.server

  • 我使用的反应路由器dom版本5.0.1一个简单的反应应用程序,我使用了汇总捆绑,这是我的路由器组件 问题是,它只在localhost:8000/处显示主路由,但当我尝试访问localhost:8000/hello或localhost:8000/登录时,会出现此错误 这是我的rollup.config };

  • 我使用React路由器的SPA,但我不确定如何显示索引路由"/"上的一些内容。 我的顶级路由器配置只是: 顶层组件呈现页眉/页脚和其他公共元素: 子路由工作正常,它们在应用程序组件中呈现。但是,如何在根路径上呈现某些内容,使其不只是一个空白页面?

  • 本文向大家介绍Angular 2 配置路由器出口,包括了Angular 2 配置路由器出口的使用技巧和注意事项,需要的朋友参考一下 示例 现在已经配置了路由器,并且我们的应用程序知道如何处理路由,我们需要显示配置的实际组件。 为此,请为顶级(应用)组件配置HTML模板/文件,如下所示: 该<router-outlet></router-outlet>元素将切换给定路线的内容。关于此元素的另一个好处

  • 我是React Router的新手,我正试图通过一条路径将一些道具从我的父组件传递给子组件。 这是我的代码: 理想情况下,我希望能够从子组件触发。在做了一些研究后,我认为传递一个选项而不是会传递它,但是它不会。知道如何将函数传递到路由组件中吗?

  • 我有一个带有路由器插座的根应用程序组件,并且路由是从家庭模块路由加载的,该路由在其子路由中使用延迟加载和 loadchildren。家庭组件中有一个路由器插座,在家庭的所有子模块中也有延迟加载的路由器插座。路由工作正常,但子路由也加载到根路由器出口中。例如:- 组件“testCreateComponent”正在加载localhost:4200 / test/create和localhost:420