2016-10-18 2 views
2

내 각뿔 앱이 구성 요소를 두 번로드하고 있습니다. 처음에, 나는 내 구성 요소의 템플릿 <router-outlet></router-outlet>을했고 그것이 잘 작동했지만 여전히 나에게 이러한 오류를주고 있었다 :Angular가 Component를 두 번로드하는 것을 방지하려면 어떻게합니까?

core.umd.js:3257 EXCEPTION: Uncaught (in promise): Error: Cannot find primary outlet to load 'AppComponent' 
core.umd.js:3262 ORIGINAL STACKTRACE: 
core.umd.js:3263 Error: Uncaught (in promise): Error: Cannot find primary outlet to load 'AppComponent' 
zone.js:355 Unhandled Promise rejection: Cannot find primary outlet to load 'AppComponent' ; Zone: angular ; Task: Promise.then ; Value: Error: Cannot find primary outlet to load 'AppComponent'(…) Error: Cannot find primary outlet to load 'AppComponent' 
zone.js:357 Error: Uncaught (in promise): Error: Cannot find primary outlet to load 'AppComponent' 

이러한 오류를 해결하려면, 내 템플릿에 <router-outlet></router-outlet>을 추가했다. 하지만 이제 내 앱에서 내 구성 요소를 두 번로드하고 있습니다.

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

@Component({ 
moduleId: module.id 
    selector:'body', 
    templateUrl: 'app.component.html', 
    styleUrls: ['app.component.css'] 
}) 

export class AppComponent { 
    title = 'Doctor Application'; 
} 

앱 routing.module.ts

import { NgModule }    from '@angular/core'; 
import { RouterModule, Routes } from '@angular/router'; 

import { AppComponent } from './app.component'; 

const routes: Routes = [ 
    { path: '', component: AppComponent }, 
]; 

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

export class AppRoutingModule {} 

app.component.html

<h1>{{title}}</h1> 
<router-outlet></router-outlet> 
+0

모듈을 부트 스트랩하는'main.ts' 파일 같은 것이 있습니까? –

+0

예, main.ts를 가지고 있습니다. @ExplosionPills –

답변

2

을 app.component.ts AppComponent은 라우팅의 일부가 아니어야합니다. 그것은 부트 스트랩에 사용됩니다. 그것이 바로 오류입니다. 라우팅에 AppComponent을 추가하려고하지만 최상위 구성 요소이기 때문에 <router-outlet>이 없습니다.

+0

제거했습니다 ... 이것은 오류입니다 ... core.umd.js : 3257 EXCEPTION : 알려지지 않은 (약속 있음) : 오류 : 어떤 경로와도 일치 할 수 없습니다. URL 세그먼트 : '' –

+1

경로'{path : '', redirectTo : 'otherRoute', 경로 일치 ':'full '}'을 추가하십시오. 먼저 이동하려는 경로로 리디렉션해야합니다. 그렇지 않은 경우 다른 라우트가 구성되어 있지 않으면 라우팅을 제거하십시오. –

+0

하지만 다른 경로는 아직 없습니다 @ peeskillet .... 그게 아직도 나에게 오류를주지 ....하지만 응용 프로그램이 잘 작동 –

관련 문제