Angular2 - 'router-outlet' не является известным элементом
Я создал маршруты с глубоким путей ребенка. Я добавил <router-outlet> до  AdminComponent компонент, который я завернул в NgModule. Но после обновления страницы я получил эту ошибку:
'router-outlet' is not a known element
возможно, это произошло потому, что я забыл импортировать какой-то модуль в админ.модуль.ТС
пожалуйста, помогите. Спасибо.
приложение.маршруты.ТС
export const routes: Routes = [
    {
        path: '',
        component: AppComponent,
        children: [
            {
                path: '',
                component: LoginComponent
            },
            {
                path: 'admin',
                component: AdminComponent
            },
            {
                path: 'user',
                component: UserComponent
            },
            {
                path: 'there',
                component: ThereComponent
            }
        ]
    }
]
приложение.модуль.ТС
@NgModule({
    imports: [
        BrowserModule,
        AppRoutes,
        FormsModule,
        ReactiveFormsModule,
        HttpModule,
        RouterModule,
        TranslateModule.forRoot({
            provide: TranslateLoader,
            useFactory: (http: Http) => {
                return new TranslateStaticLoader(http, './src/assets/i18n', '.json')
            },
            deps: [Http]
        }),
        UserComponentModule,
        AdminComponentModule,
        LoginComponentModule,
        ThereComponentModule,
        DashboardComponentModule
    ],
    declarations: [
        AppComponent
    ],
    providers: [
        FormBuilder
    ],
    bootstrap: [AppComponent]
})
админ.деталь.ТС и админ.модуль.ТС
//  admin.component.ts
import {Component} from "@angular/core";
@Component({
    selector: 'admin',
    template: "<router-outlet></router-outlet>",
})
export class AdminComponent {
    constructor() {
    }
}
//  admin.module.ts
const ADMIN_DECLARATION = [
    AdminComponent
];
@NgModule({
    imports: [
        BrowserModule,
        TranslateModule,
        FormsModule,
        ReactiveFormsModule
    ],
    declarations: [
        ADMIN_DECLARATION
    ],
    exports: [
        ADMIN_DECLARATION
    ],
    providers: [
        TranslateService,
        FormBuilder
    ]
})
export class AdminComponentModule {
}
6 ответов:
AdminComponentявляется частьюAdminComponentModuleа вы не импортировалиRouterModuleвнутриAdminComponentModuleмодуль:// admin.component.ts import {Component} from "@angular/core"; @Component({ selector: 'admin', template: "<router-outlet></router-outlet>", }) export class AdminComponent { constructor() { } } // admin.module.ts const ADMIN_DECLARATION = [ AdminComponent ]; @NgModule({ imports: [ BrowserModule, TranslateModule, RouterModule, FormsModule, ReactiveFormsModule ], declarations: [ ADMIN_DECLARATION ], exports: [ ADMIN_DECLARATION ], providers: [ TranslateService, FormBuilder ] }) export class AdminComponentModule { }
вы не экспортировали RouterModule.
@NgModule({ imports: [RouterModule.forRoot(routes)], exports: [RouterModule] })
добавить этот код
import { provideRoutes} from '@angular/router';на
app.module.tsработал для меня.
в вашем приложении.модуль.файл TS
import { routing } from './app-routing.module'; //and then write within imports @NgModule({ declarations: [ AppComponent, NavbarComponent ], imports: [ BrowserModule, **routing**, EmployeeModule ],