in my angular app when I add routes in gifts-routing.module.ts this error appears and when i remove the routes it works but i still need to route so how can i solve this error
ERROR Error: Uncaught (in promise): NullInjectorError: StaticInjectorError(AppModule)[FormBuilder]:
StaticInjectorError(Platform: core)[FormBuilder]:
NullInjectorError: No provider for FormBuilder!
NullInjectorError: StaticInjectorError(AppModule)[FormBuilder]:
StaticInjectorError(Platform: core)[FormBuilder]:
NullInjectorError: No provider for FormBuilder!
gifts.module.ts
import { NgModule } from '@angular/core';
import { CommonModule } from '@angular/common';
import { GiftsRoutingModule } from './gifts-routing.module';
import { GiftListComponent } from './components/gift-list/gift-list.component';
import { GiftFormComponent } from './components/gift-form/gift-form.component';
import { SharedModule } from '../shared/shared.module';
@NgModule({
declarations: [GiftListComponent, GiftFormComponent],
imports: [
CommonModule,
GiftsRoutingModule,
SharedModule
]
})
export class GiftsModule { }
gifts-routing.module.ts
import { NgModule } from '@angular/core';
import { Routes, RouterModule } from '@angular/router';
import { LayoutComponent } from '../shared/components/layout/layout.component';
import { GiftListComponent } from './components/gift-list/gift-list.component';
const routes: Routes = [
{
path: '',
component: LayoutComponent,
children: [
{
path:'',
component: GiftListComponent
}
]
}
];
@NgModule({
imports: [RouterModule.forChild(routes)],
exports: [RouterModule]
})
export class GiftsRoutingModule { }
and I also import the ReactiveFormsModule and FormsModule inside my shared module
shared.module.ts
import { NgModule } from '@angular/core';
import { CommonModule } from '@angular/common';
import { SharedRoutingModule } from './shared-routing.module';
import { LayoutComponent } from './components/layout/layout.component';
import { NavbarComponent } from './components/layout/navbar/navbar.component';
import { ReactiveFormsModule, FormsModule } from '@angular/forms'
import {
MatButtonModule,
MatCardModule,
MatInputModule,
MatIconModule,
MatTabsModule,
MatTableModule,
MatPaginatorModule,
MatSortModule,
MatProgressSpinnerModule,
MatSlideToggleModule,
MatDialogModule,
MatSelectModule,
MatDatepickerModule,
MatToolbarModule,
MatListModule,
MatMenuModule,
MatSidenavModule,
MatTooltipModule,
MatRadioModule,
MatStepperModule,
MatCheckboxModule,
MatExpansionModule,
MatProgressBarModule,
MatNativeDateModule,
} from '@angular/material';
import { RouterModule } from '@angular/router';
import { FloatingButtonComponent } from './components/floating-button/floating-button.component';
import { ConfirmComponent } from './components/confirm/confirm.component';
@NgModule({
declarations: [LayoutComponent, NavbarComponent, FloatingButtonComponent, ConfirmComponent],
imports: [
CommonModule,
SharedRoutingModule,
ReactiveFormsModule,
RouterModule,
FormsModule,
CommonModule,
MatButtonModule,
MatMenuModule,
MatSidenavModule,
MatListModule,
MatToolbarModule,
MatIconModule,
MatCardModule,
MatTabsModule,
MatInputModule,
MatTableModule,
MatPaginatorModule,
MatSortModule,
MatProgressSpinnerModule,
MatSlideToggleModule,
MatDialogModule,
MatSelectModule,
MatDatepickerModule,
MatProgressBarModule,
MatTooltipModule,
MatRadioModule,
MatStepperModule,
MatCheckboxModule,
MatExpansionModule,
MatNativeDateModule,
],
exports: [
CommonModule,
ReactiveFormsModule,
RouterModule,
FormsModule,
CommonModule,
MatButtonModule,
MatMenuModule,
MatSidenavModule,
MatListModule,
MatToolbarModule,
MatIconModule,
MatCardModule,
MatTabsModule,
MatInputModule,
MatTableModule,
MatPaginatorModule,
MatSortModule,
MatProgressSpinnerModule,
MatSlideToggleModule,
MatDialogModule,
MatSelectModule,
MatDatepickerModule,
MatProgressBarModule,
MatTooltipModule,
MatRadioModule,
MatStepperModule,
MatCheckboxModule,
MatExpansionModule,
],
entryComponents: [ConfirmComponent]
})
export class SharedModule {
}
what I should do to solve this error, please?
You need to move the imports shared module
to main module
FormsModule
and ReactiveFormsModule
do not work as shared module
.
I got this error when I tried to add a component in constructor as a service. I've resolved this issue by using @injectable().
you can use
@Injectable({
providedIn: 'root',
})
export class component{}
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With