Angular2 - 调用函数'UIRouterModule',不支持函数调用

时间:2017-01-20 10:34:14

标签: angular angular-ui-router angular2-routing

我是Angular2的新手。

我在导入UIRouterModule时收到此错误,引用this

  

ERROR in Error遇到静态解析符号值。调用函数'UIRouterModule',不支持函数调用。考虑使用对导出函数的引用替换函数或lambda,解析/site_root/src/app/app.module.ts中的符号AppModule,解析/site_root/src/app/app.module.ts中的符号AppModule。 >

我的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 { RouterModule, Routes }   from '@angular/router';
import { UIView, UIRouterModule } from "ui-router-ng2";

import { AppComponent } from './app.component';
import { ProfileComponent } from './profile/profile.component';
import { WidgetComponent } from './widget/widget.component';
import { DashboardComponent } from './dashboard/dashboard.component';
import { MyRootUIRouterConfig } from "./router.config";

import {MAIN_STATES} from "./app.states";

const appRoutes: Routes = [
  { path: '', component: DashboardComponent },
  { path: 'profile', component: ProfileComponent },
  { path: 'widget', component: WidgetComponent },
];

@NgModule({
  declarations: [
    AppComponent,
    ProfileComponent,
    WidgetComponent,
    DashboardComponent
  ],
  imports: [
    BrowserModule,
    FormsModule,
    HttpModule,
    RouterModule.forRoot(appRoutes),
    UIRouterModule.forRoot({
      states: MAIN_STATES,
      otherwise: { state: 'app', params: {} },
      useHash: true,
      configClass: MyRootUIRouterConfig
    })
  ],
  providers: [],
  bootstrap: [AppComponent, UIView]
})
export class AppModule { }

我做错了什么?

2 个答案:

答案 0 :(得分:0)

我认为您需要使用UIRouterModule.forRoot({

更改UIRouterModule.forChild({

因为它是在文档中写的。

  

应用程序应该只使用forRoot()创建和导入单个NgModule。应使用UIRouterModule.forChild创建所有其他模块。

https://ui-router.github.io/ng2/docs/latest/classes/ng2.uiroutermodule.html

答案 1 :(得分:0)

您应该更新为ui-router-ng2版本1.0.0-beta.4

1.0.0-beta.4 release包括支持提前编译的更改。这些相同的更改应解决"function calls are not supported"错误消息。