2017-01-20 4 views
0

Я новичок в Angular2.Angular2 - Функция вызова 'UIRouterModule', вызовы функций не поддерживаются

Эта ошибка я получаю, когда я импортировать UIRouterModule, имея в виду this

ОШИБКА в Обнаружена ошибка разрешения значения символов статически. Функция вызова «UIRouterModule», вызовы функций не поддерживаются. Рассмотрите возможность замены функции или лямбда ссылкой на экспортированную функцию, разрешение символа AppModule в /site_root/src/app/app.module.ts, разрешение символа AppModule в /site_root/src/app/app.module.ts

Мои 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 { } 

Где я делаю неправильно?

ответ

0

Я думаю, что вам нужно изменить UIRouterModule.forRoot({ с UIRouterModule.forChild({

как написано, как, что в документации.

Приложение должно создавать и импортировать только один NgModule, используя forRoot(). Все остальные модули должны быть созданы с использованием UIRouterModule.forChild.

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

+0

По-прежнему получают ту же ошибку. –

+0

Я имею ввиду этот быстрый старт - https://github.com/ui-router/quickstart-ng2/tree/master –

0

Вы должны обновить до версии ui-router-ng21.0.0-beta.4.

1.0.0-beta.4 release Включает изменения в поддержку компиляции Ahead of Time. Этим же изменениям следует обратиться к сообщению об ошибке "function calls are not supported".

+0

Хорошо, сэр. Будет проверять и возвращаться к вам. –