2016-09-24 40 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

在数组中导入路由类 –

相关问题