source

Angular2 - '라우터 출구'가 알려진 요소가 아닙니다.

factcode 2023. 8. 12. 10:46
반응형

Angular2 - '라우터 출구'가 알려진 요소가 아닙니다.

저는 아이들의 경로가 깊은 경로를 만들었습니다.추가했습니다.<router-outlet>AdminComponent 구성 요소로 이동할 수 있습니다.그러나 페이지를 새로 고친 후 다음 오류가 발생했습니다.

'router-outlet' is not a known element

일부 모듈을 admin.module.ts로 가져오는 것을 잊어버려서 발생한 것 같습니다.

제발 도와주세요.감사해요.

app.s.ts.

export const routes: Routes = [
    {
        path: '',
        component: AppComponent,
        children: [
            {
                path: '',
                component: LoginComponent
            },
            {
                path: 'admin',
                component: AdminComponent
            },
            {
                path: 'user',
                component: UserComponent
            },
            {
                path: 'there',
                component: ThereComponent
            }
        ]
    }
]

app.s.ts.

@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.tsadmin.component.ts

//  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 {

}

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 {

}

라우터 모듈을 내보내지 않았습니다.

@NgModule({
  imports: [RouterModule.forRoot(routes)],
  exports: [RouterModule]
})

이 코드 추가

import { provideRoutes} from '@angular/router';

당신에게app.module.ts

나를 위해 일했습니다.

app.module.ts 파일에서

import { routing } from './app-routing.module';

//and then write within imports
@NgModule({
  declarations: [
    AppComponent,
    NavbarComponent
  ],
  imports: [
    BrowserModule,
    **routing**,
    EmployeeModule
  ],

이것은 나에게 도움이 됩니다.

스키마 추가[NO_ERRORS_SCHEMA]앱 모듈에 있습니다.

import { NO_ERRORS_SCHEMA } from '@angular/core';

@NgModule({
  schemas : [NO_ERRORS_SCHEMA]  
})

app.s.ts.

import { MyRoutingModule } from './MyRoutingModulePath';

  @NgModule({
  imports: [
    MyRoutingModule
  ])

언급URL : https://stackoverflow.com/questions/40304637/angular2-router-outlet-is-not-a-known-element

반응형