angular - StaticInjectorError 和 NullInjectorError 在角度中使用路由器
问题描述
这是我的 app.module.ts
import { BrowserModule } from '@angular/platform-browser';
import { NgModule } from '@angular/core';
import { AppComponent } from './app.component';
import { NavbarComponent } from './navbar/navbar.component';
import { DslistingsComponent } from './dslistings/dslistings.component';
import {MatCardModule} from '@angular/material/card';
import {MatGridListModule} from '@angular/material/grid-list';
import {MatExpansionModule} from '@angular/material/expansion';
import {MatButtonModule} from '@angular/material/button';
import {BrowserAnimationsModule} from '@angular/platform-browser/animations';
import {MatChipsModule} from '@angular/material/chips';
import {MatDividerModule} from '@angular/material/divider';
import {MatListModule} from '@angular/material/list';
import { RouterModule, Router } from '@angular/Router';
@NgModule({
declarations: [
AppComponent,
NavbarComponent,
DslistingsComponent
],
imports: [
BrowserModule,
MatCardModule,
MatGridListModule,
MatExpansionModule,
MatButtonModule,
BrowserAnimationsModule,
MatChipsModule,
MatDividerModule,
MatListModule,
RouterModule.forRoot([{path:"", component: DslistingsComponent}])
],
providers: [],
bootstrap: [AppComponent]
})
export class AppModule { }
这是我的 navbar.component.ts
import { Component, OnInit } from '@angular/core';
import * as cloneDeep from 'lodash/cloneDeep';
import { Location } from '@angular/common';
import { Router } from '@angular/router';
import * as customUrl from '../CustomUrlSerializer';
@Component({
selector: 'app-navbar',
templateUrl: './navbar.component.html',
styleUrls: ['./navbar.component.css']
})
export class NavbarComponent implements OnInit {
constructor(private router: Router) {
}
ngOnInit() {}
}
为什么即使我在 app.module 文件中导入了 RouterModule 然后在 navbar.component.ts 文件中声明了私有路由器,我也会收到错误消息?
html已经有了,我尝试从component.ts文件中删除私有路由器:路由器并且页面加载没有错误,就在我尝试在构造函数中添加路由器时,我得到了
StaticInjectorError(AppModule)[NavbarComponent -> Router]:
StaticInjectorError(Platform: core)[NavbarComponent -> Router]:
NullInjectorError: No provider for Router!
NullInjectorError: StaticInjectorError(AppModule)[NavbarComponent -> Router]:
StaticInjectorError(Platform: core)[NavbarComponent -> Router]:
NullInjectorError: No provider for Router!
解决方案
推荐阅读
- python - 跳过在 Callable python 中定义返回类型
- java - 为什么需要从“java.util.*”包中单独导入收集器?
- javascript - 我的导航栏切换箭头无法正常工作
- sql - SQL Server 中这两个 SQL 查询的区别,
- python - 将文本数据(文档)转换为数字数据(矢量)并保存以供进一步使用的可靠方法是什么?
- python - 优化利润的伪代码
- javascript - 如何在使用node.js和apache服务器时将基本身份验证的用户名和密码传递给grafana?
- jenkins - 詹金斯凭据菜单未出现在侧边栏中
- reactjs - React useState 重新渲染触发器的行为取决于其调用时间
- ios - 将触摸通过视图传递给视图下方的正确方法是什么?