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

Я смог найти решение своей проблемы. Я удалил каждый компонент из бутстрапа: [...] помимо AppComponent, но сохранил другие компоненты в объявлениях и устранил проблему.

Смежные вопросы