I have a shared module that exports material components, reactive forms and other things but when I try to do that I get these kinds of errors:
If 'mat-menu' is an Angular component, then verify that it is part of this module.
Until now I've been trying but it doesn't fix. How can I solve it?
Below I will show all my modules so you understand what I'm trying to do. My pages.module
and auth.module
are the ones that has the components that are trying to use the shared.module
.
App module
import { BrowserModule } from '@angular/platform-browser';
import { NgModule } from '@angular/core';
import { AppRoutingModule } from './app-routing.module';
import { AppComponent } from './app.component';
//My imports
import { NgbModule } from '@ng-bootstrap/ng-bootstrap';
import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
import { RouterModule } from '@angular/router';
//import { HttpClientModule} from '@angular/common/http';
import { CoreModule } from './../app/core/core.module';
@NgModule({
declarations: [
AppComponent,
],
imports: [
BrowserModule,
AppRoutingModule,
NgbModule,
BrowserAnimationsModule,
RouterModule,
CoreModule,
],
providers: [],
bootstrap: [AppComponent]
})
export class AppModule { }
Material module
import { NgModule } from '@angular/core';
import {MatMenuModule} from '@angular/material/menu';
import {MatIconModule} from '@angular/material/icon';
import {MatToolbarModule} from '@angular/material/toolbar';
import {MatButtonModule} from '@angular/material/button';
import {MatCardModule} from '@angular/material/card';
import {MatInputModule} from '@angular/material/input';
import {MatCheckboxModule} from '@angular/material/checkbox';
import {MatRadioModule} from '@angular/material/radio';
import { FormsModule } from '@angular/forms';
import {MatGridListModule} from '@angular/material/grid-list';
import {MatProgressSpinnerModule} from '@angular/material/progress-spinner';
import {MatSnackBarModule} from '@angular/material/snack-bar';
const MaterialComponents = [
MatMenuModule,
MatIconModule,
MatToolbarModule,
MatButtonModule,
MatCardModule,
MatInputModule,
MatCheckboxModule,
MatRadioModule,
FormsModule,
MatGridListModule,
MatProgressSpinnerModule,
MatSnackBarModule,
];
@NgModule({
imports: [
MaterialComponents
],
exports: [
MaterialComponents
]
})
export class MaterialModule { }
Shared module
import { NgModule } from '@angular/core';
import { CommonModule } from '@angular/common';
import { MaterialModule } from 'src/app/shared/material/material.module';
import { ReactiveFormsModule } from '@angular/forms';
@NgModule({
declarations: [
],
imports: [
CommonModule,
MaterialModule,
ReactiveFormsModule,
],
exports: [
MaterialModule,
ReactiveFormsModule,
]
})
export class SharedModule { }
Auth module
import { NgModule } from '@angular/core';
import { CommonModule } from '@angular/common';
import { SharedModule } from '../shared/shared.module';
//import { AuthRoutingModule } from './auth-routing.module';
import { HomeComponent } from 'src/app/auth/home/home.component';
import { HomeAdminComponent } from 'src/app/auth/home-admin/home-admin.component';
//import{ RoutingModule } from 'src/app/modules/routing.module';
@NgModule({
declarations: [HomeComponent,HomeAdminComponent],
imports: [
CommonModule,
SharedModule,
],
})
export class AuthModule { }
Pages module
import { NgModule } from '@angular/core';
import { CommonModule } from '@angular/common';
import { SharedModule } from '../shared/shared.module';
import { AdminDashboardComponent } from 'src/app/pages/admin-dashboard/admin-dashboard.component';
import { UsersDashboardComponent } from 'src/app/pages/users-dashboard/users-dashboard.component';
import { RoutingAdminModule } from 'src/app/pages/routing-admin.module';
import { RoutingUsersModule } from 'src/app/pages/routing-users.module';
@NgModule({
declarations: [AdminDashboardComponent, UsersDashboardComponent],
imports: [
CommonModule,
SharedModule,
RoutingAdminModule,
RoutingUsersModule,
]
})
export class PagesModule { }