2016-09-24 109 views
5

當我嘗試加載我的angular 2.0應用程序時,出現以下錯誤: (index):21錯誤:錯誤:意外值'[object Object ]的AppModule 'Angular 2.0由模塊'AppModule'導入的意外值'[object Object]'

import { ModuleWithProviders } from '@angular/core'; 
import { Routes, RouterModule } from '@angular/router'; 
import { searchComponent }  from './search.Component'; 
import { landingComponent }  from './landing.Component'; 

export const routes: Routes = [ 
{ 
    path: '', 
    component: searchComponent 
}, 
{ 
    path: 'search', 
    component: searchComponent 
}]; 
export const routedComponents = [searchComponent, landingComponent]; 
export const routing: ModuleWithProviders = RouterModule.forRoot(routes); 

的AppModule

import { NgModule }  from '@angular/core'; 
import { BrowserModule } from '@angular/platform-browser'; 
import { FormsModule } from '@angular/forms'; 
import { HttpModule } from '@angular/http'; 
import { landingComponent }    from './landing.Component'; 
import { searchComponent }    from './search.Component'; 
import { routes, routedComponents }  from './app.routing'; 
import { homeScript }     from './Services/homeScript'; 

@NgModule({ 
imports: [ 
    BrowserModule, 
    FormsModule, 
    HttpModule, 
    routes 
], 
declarations: [ 
    landingComponent, 
    searchComponent, 
    routedComponents 
], 
providers: [ 
    homeScript 
], 
bootstrap: [landingComponent] 

}) 
export class AppModule { } 

類型腳本」由模塊進口' 用於啓動

///<reference path="./../typings/globals/core-js/index.d.ts"/> 
import { platformBrowserDynamic } from '@angular/platform-browser-dynamic'; 
import { AppModule } from './appModule'; 

platformBrowserDynamic().bootstrapModule(AppModule) 
    .then(success => console.log(`Bootstrap success`)) 
    .catch(error => console.log('GUY ' + error)); 

如果我從導入中刪除「路線」,登陸頁面會加載但沒有 任何錯誤。我懷疑路由中存在錯誤,因爲如果我在AppModule中刪除 '路由',登陸頁面會正確加載。我嘗試了很多 更改,但我一直無法確定問題的原因。 任何幫助,將不勝感激。

+0

哪個angular2的版本您使用的?你爲什麼需要這個? 'export const routedComponents = [searchComponent,landingComponent];'。我也是angular2的新手,我正在開發路由。我正在使用angular2的最終版本,我不像你那樣初始化上面的語句。 – Pradeepb

+0

當我嘗試使用moduleWithProviders加載模塊時,發生同樣的錯誤... –

+0

對不起,忘了提及最基本的信息:「@ angular/common」:「2.0.1」, –

回答

6

問題是你設置routedComponents爲你聲明的一部分。因爲這不是一個指令,組件或管道,你會得到這個異常。 從模塊聲明中取出routedComponents陣列,它會解決您的問題。

+0

似乎不適用於我 – Demodave

+0

也不適用於我。 – Phill

1

剛剛從進口數組中刪除「路線」和「路由」添加到:

imports: [ 
    BrowserModule, 
    FormsModule, 
    HttpModule, 
    routing 
] 
0
app.menurouting.ts 
export const menurouting:Routes=[{path:'',redirectTo:'menu',pathMatch:'full'}, 
      {path:'restarenttype',component:RestaurantTypeComponentComponent}, 
      {path:'table',component:TablelayoutComponent}, 
      {path:'blog',component:ViewmenuComponent}, 
     ]; 
     export const routes:ModuleWithProviders=RouterModule.forRoot(menurouting) 

    app.module.ts 

    import {routes} from './app.menurouting'; 

    @NgModule({ 
     declarations: [ 
     AppComponent, 
     LoginComponentComponent, 
     TablelayoutComponent, 
     ViewmenuComponent, 
     RestaurantTypeComponentComponent 
     ], 
     imports: [ 
     BrowserModule, 
     routes 
     ], 
     providers: [], 
     bootstrap: [AppComponent] 
    }) 
    export class AppModule { } 
+0

在數組中導入路由類 –

相關問題