📅  最后修改于: 2023-12-03 14:58:14.665000             🧑  作者: Mango
'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
错误。遵循上述步骤即可解决这个错误。