简体   繁体   English

如何在 Angular 10+ 中使用模块路由而不是组件

[英]How to use routing with module instead of component in Angular 10+

I successfully used component in routing but when i am using module instead of component in angular 10 i am getting a white screen.我成功地在路由中使用了组件,但是当我在 angular 10 中使用模块而不是组件时,我得到了一个白屏。

I would be really thankful for any kind of help.我会非常感谢任何形式的帮助。

this is what i've been trying: app-routing.module.ts这就是我一直在尝试的:app-routing.module.ts

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

import { DashboardModule } from './components/dashboard/dashboard.module';

import { DashboardComponent } from './components/dashboard/dashboard.component';

const routes: Routes = [
    { path: '', loadChildren: () => DashboardModule }
];

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

Dashboard module:仪表板模块:

import { NgModule } from '@angular/core';
import { CommonModule } from '@angular/common';

import { DashboardComponent } from './dashboard.component';


@NgModule({
  declarations: [
    DashboardComponent
  ],
  imports: [
    CommonModule
  ]
})
export class DashboardModule { }

Dashboard Component:仪表板组件:

import { Component, OnInit } from '@angular/core';

@Component({
  selector: 'app-dashboard',
  templateUrl: './dashboard.component.html',
  styleUrls: ['./dashboard.component.css']
})
export class DashboardComponent implements OnInit {

  constructor() { 
    alert('asdf');  
  }

  ngOnInit(): void {
  }

}

Thanks谢谢

Lazy loaded feature modules have to have their child routes declared separately.延迟加载的功能模块必须单独声明它们的子路由。 For example:例如:

    import { NgModule } from '@angular/core';
    import { Routes, RouterModule } from '@angular/router';
    import { DashboardComponent } from './dashboard.component';

    const routes: Routes = [
      {
        path: '',
        component: DashboardComponent,
      },
    ];
    
    @NgModule({
      imports: [RouterModule.forChild(routes)],
      exports: [RouterModule]
    })
    export class DashboardRoutingModule { }

Also make sure to always load lazy modules like Emilien said before :)还要确保总是像 Emilien 之前所说的那样加载惰性模块:)

loadChildren: () => import('./components/dashboard/dashboard.module').then(m => m.DashboardModule)

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM