2017-01-22 1 views
1

Я новичок в угловых js и машинописных текстах. Я начал с рассмотрения angular2 Учебников Героев в документации. Но я столкнулся с ошибкой в ​​последнем разделе Tutorials т.е. HTTP, ссылка указанных ниже:Angular2 - Ошибка определения значений символьных значений статически. Функция вызова «InMemoryWebApiModule» вызовы функций не поддерживаются.

https://angular.io/docs/ts/latest/tutorial/toh-pt6.html

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 {AppRoutingModule} from './app-routing.module' 

// Imports for loading & configuring the in-memory web api 
import { InMemoryWebApiModule } from 'angular2-in-memory-web-api'; 
import { InMemoryDataService } from './apis/in-memory-data.service'; 

import { HeroesComponent } from './heroes/heroes.component'; 
import { HeroDetailComponent } from './hero-detail/hero-detail.component'; 
import { AppmainComponent } from './appmain/appmain.component'; 
import { DashboardComponent } from './dashboard/dashboard.component'; 

import {HeroService} from "./hero.service"; 


@NgModule({ 
    declarations: [ 
    HeroesComponent, 
    HeroDetailComponent, 
    AppmainComponent, 
    DashboardComponent 
    ], 
    imports: [ 
    BrowserModule, 
    FormsModule, 
    AppRoutingModule, 
    HttpModule, 
    InMemoryWebApiModule.forRoot(InMemoryDataService) 
    ], 
    providers: [HeroService], 
    bootstrap: [AppmainComponent] 
}) 
export class AppModule { } 

в памяти, данные -service.ts

import { InMemoryDbService } from 'angular2-in-memory-web-api'; 
export class InMemoryDataService implements InMemoryDbService { 
    createDb() { 
    let heroes = [ 
     {id: 11, name: 'Mr. Nice'}, 
     {id: 12, name: 'Narco'}, 
     {id: 13, name: 'Bombasto'}, 
     {id: 14, name: 'Celeritas'}, 
     {id: 15, name: 'Magneta'}, 
     {id: 16, name: 'RubberMan'}, 
     {id: 17, name: 'Dynama'}, 
     {id: 18, name: 'Dr IQ'}, 
     {id: 19, name: 'Magma'}, 
     {id: 20, name: 'Tornado'} 
    ]; 
    return {heroes}; 
    } 
} 

ошибка, что я получаю в терминале следующим образом:

ERROR in Error encountered resolving symbol values statically. Calling function 'InMemoryWebApiModule', function calls are not supported. 
Consider replacing the function or lambda with a reference to an exported function, resolving symbol AppModule in /home/jainam/Projects/WebstormProjects/angularheroes/src/app/app.module.ts, resolving symbol AppModule in /home/jainam/Projects/WebstormProjects/angularheroes/src/app/app.module.ts 

ответ

0

Попробуйте использовать angular-in-memory-web-api вместо angular2-in-memory-web-api. Он решил проблему для меня.

+0

Я также пробовал это, но это не исправить проблему. Какую версию памяти api вы используете в своем пакете. Json? –

+0

@ Jainam/@ Chris - Вы нашли решение? –

+0

@ThoughtfulMonkey, я отказался от этого и сделал JSON, анализируя непосредственно через HttpClient после этого. Не проверял документы в течение длительного времени. https://angular.io/guide/http –

-1
"angular-in-memory-web-api": "~0.3.0" 
+2

Как это отличается от предыдущего ответа, пожалуйста, уточните. – mpaskov