Home:ALL Converter>Child routes error with RC6 upgrade

Child routes error with RC6 upgrade

Ask Time:2016-09-09T03:48:53         Author:Don Chambers

Json Formatter

I am getting this runtime error with my routing when upgrading to RC6 (this includes child routes):

ListingComponent is not part of any NgModule or the module has not been imported into your module

This error indicates that I have not added ListingComponent to ngModule but it is there as a declaration.

In app.module I have all my components as declarations. I also import my routing component. The routing component has a sub routing component called listing.routes.

Here is my app.module.ts:

import {NgModule, CUSTOM_ELEMENTS_SCHEMA, ReflectiveInjector  } from '@angular/core';
import { BrowserModule } from '@angular/platform-browser';
import {FormsModule, FormBuilder} from '@angular/forms';
import { NgClass, NgStyle} from '@angular/common';
import { AppComponent }   from './app.component';
import {routing} from './app.routes';
import {ListingModule} from './components/listing/listingmodule';
import {ListingComponent} from './components/listing/listing.Component';

@NgModule({
    imports: [BrowserModule, routing],
    providers: [],
    declarations: [AppComponent, ListingComponent, ListingModule],
    bootstrap: [AppComponent]
})
export class AppModule {

}

Here is my app.routes.ts (which I import as routes):

import { ModuleWithProviders }  from '@angular/core';
import { Routes, RouterModule } from '@angular/router';
import {ListingRoutes} from './components/listing/listing.routes';
import {SplashComponent} from './components/splash/splash.component';

export const appRoutingProviders: Routes = ([
    { path: '', component: SplashComponent },
    { path: 'login', component: SplashComponent },
    ...ListingRoutes
]);

export const routing: ModuleWithProviders = RouterModule.forRoot(appRoutingProviders);

And here is my listing.routes.ts:

import { ModuleWithProviders } from '@angular/core';
import { Routes, RouterModule } from '@angular/router';
import {ListingModule} from './repairreturnmodule';
import {ListingComponent} from '../listing/listing.component';


export const ListingRoutes: Routes = [
    {
        path: '',
        component: ListingModule,
        children: [
            { path: 'listing', component: ListingComponent},
        ]
    }
];

export const ListingRouting: ModuleWithProviders = RouterModule.forChild(ListingRoutes);

Have I missed anything?

Author:Don Chambers,eproduced under the CC 4.0 BY-SA copyright license with a link to the original source and this disclaimer.
Link to original article:https://stackoverflow.com/questions/39399088/child-routes-error-with-rc6-upgrade
yy