📌  相关文章
📜  错误 ng8001 'router-outlet' 不是已知元素 (1)

📅  最后修改于: 2023-12-03 14:58:14.665000             🧑  作者: Mango

错误 NG8001 'router-outlet' 不是已知元素

在使用 Angular 的路由模块进行开发时,可能会遇到以下错误:

Error: Uncaught (in promise): Error: Template parse errors:
'router-outlet' is not a known element:

同样的错误也会被标记为 NG8001 错误。这个错误通常是由于开发者没有正确导入和配置 Angular 的路由模块所导致的。

如何解决

要解决这个错误,我们需要确保在应用模块中正确导入 RouterModule 模块,并将其添加到 imports 数组中。我们还需要确保在需要使用路由渲染组件的 HTML 文件中含有 <router-outlet> 元素。

以下是解决方法的代码示例:

import { BrowserModule } from '@angular/platform-browser';
import { NgModule } from '@angular/core';
import { RouterModule } from '@angular/router'; // 添加这个模块

import { AppComponent } from './app.component';
import { HomeComponent } from './home/home.component';
import { AboutComponent } from './about/about.component';

@NgModule({
  declarations: [AppComponent, HomeComponent, AboutComponent],
  imports: [
    BrowserModule,
    RouterModule.forRoot([ // 配置路由规则
      { path: '', component: HomeComponent },
      { path: 'about', component: AboutComponent },
    ]),
  ],
  providers: [],
  bootstrap: [AppComponent],
})
export class AppModule {}

AppComponent 组件的 HTML 文件中添加 <router-outlet> 元素:

<router-outlet></router-outlet>

如果以上步骤都已完成,重新运行应用程序即可解决此错误。

总结

在开发 Angular 应用时,要正确配置路由模块并在 HTML 文件中使用 <router-outlet> 元素,否则会遇到 NG8001 错误。遵循上述步骤即可解决这个错误。