0

我目前正在嘗試添加路由到我的Angular 2項目。所有組件的工作,但是當我添加「appRoutes」我對進口app.module.ts,錯誤被拋出話說當導入不工作時的路由

Uncaught TypeError: Cannot set property 'stack' of undefined

這裏是我的代碼:

app.module.ts

import { BrowserModule } from '@angular/platform-browser'; 
import { NgModule } from '@angular/core'; 
import { FormsModule } from '@angular/forms'; 
import { HttpModule } from '@angular/http'; 

import { appRoutes } from './app.router'; 
import { AppComponent } from './app.component'; 
import { NavigationComponent } from './navigation/navigation.component'; 
import { AboutComponent } from './about/about.component'; 
import { ResumeComponent } from './resume/resume.component'; 
import { WorkComponent } from './work/work.component'; 
import { BlogComponent } from './blog/blog.component'; 
import { HomeComponent } from './home/home.component'; 



@NgModule({  
declarations: [ 
AppComponent, 
NavigationComponent, 
AboutComponent, 
ResumeComponent, 
WorkComponent, 
BlogComponent, 
HomeComponent 
], 
imports: [ 
appRoutes, 
BrowserModule, 
FormsModule, 
HttpModule 
], 
providers: [], 
bootstrap: [AppComponent, NavigationComponent, AboutComponent, 
      ResumeComponent, WorkComponent, BlogComponent, HomeComponent] 
}) 
export class AppModule { } 

app.router.ts

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

import { AppComponent } from './app.component'; 
import { AboutComponent } from './about/about.component'; 
import { ResumeComponent } from './resume/resume.component'; 
import { WorkComponent } from './work/work.component'; 
import { BlogComponent } from './blog/blog.component'; 
import { HomeComponent } from './home/home.component'; 

export const appRoutes: Routes =[ 
    { path: '', redirectTo: 'home', pathMatch: 'full' }, 
    { path: 'about', component: AboutComponent }, 
    { path: 'resume', component: ResumeComponent }, 
    { path: 'work', component: WorkComponent }, 
    { path: 'blog', component: BlogComponent }, 
    { path: 'home', component: HomeComponent } 
]; 

export const routes: ModuleWithProviders = RouterModule.forRoot(appRoutes); 

任何幫助,將不勝感激。該頁面一直工作,直到我添加appRoutes導入,然後它只是加載...

回答

0

您不應該需要ModuleWithProviders。刪除來自:

export const routes: ModuleWithProviders = RouterModule.forRoot(appRoutes); 

export const routes: RouterModule.forRoot(appRoutes); 

,看看它是否工作。 (也可以通過刪除導入來清理)。

+0

感謝您的輸入,我嘗試了您的解決方案,並沒有發生任何事情。我也嘗試用'='替換路由後的':',但仍然沒有任何結果。我已經看到演示以我擁有它的方式進行演示,並且這很有用,這就是爲什麼我很困惑。 – BPierce

0

我能找到解決我自己的問題。我從bootstrap中刪除了每個組件:[...]除AppComponent外,其他組件保留在聲明中並解決了問題。