2017-10-25 10 views
1

こんにちは、私は角度からこのエラーがありますCan't resolve all parameters for RoomService: (?).私はこの2つのファイルを持っています、サービスです。角度すべてのパラメータを解決できません

room.service.ts

import { Injectable } from '@angular/core'; 
import { ResourceService } from './resource.service'; 
import { Http } from '@angular/http'; 
import { CONFIG as APP_CONSTANTS } from '../config/config'; 

@Injectable() 
export class RoomService extends ResourceService { 

    constructor(http) { 
    super(http); 
    } 

} 

app.module.ts

import { BrowserModule } from '@angular/platform-browser'; 
import { NgModule } from '@angular/core'; 

// Angular Material 
import { BrowserAnimationsModule } from '@angular/platform-browser/animations'; 
import { MaterialComponents } from '../ngcomponents/material.component'; 

import { AppRoutingModule } from './app-routing.module'; 

// Components 
import { AppComponent } from './app.component'; 
import { RoomlistComponent } from './components/roomlist/roomlist.component'; 

// services 
import { HttpModule } from '@angular/http'; 
import { RoomService } from './services/room.service'; 

@NgModule({ 
    declarations: [ 
    AppComponent, 
    RoomlistComponent 
    ], 
    imports: [ 
    BrowserModule, 
    AppRoutingModule, 
    HttpModule, 
    BrowserAnimationsModule, 
    MaterialComponents 
    ], 
    providers: [RoomService], 
    bootstrap: [AppComponent] 
}) 
export class AppModule { } 

と私は何の問題ことができます任意のアイデアだけで任意のアイデアを持っているドントあなたはRoomServiceが別のファイルresourceServiceから拡張しているのを見ることができますが、それが問題であるかどうかは分かりませんが、そうは思わないです。

答えて

2

コンストラクタはタイプのhttpパラメータを持つ必要があります。 Dependency Resolverが知るようになると、Httpインジェクタのトークンを作成する必要があります。あなたは

constructor(http:Http) { 

にそれを変更してのimports: [...]HttpModuleを追加した場合httpは、型注釈

constructor(http) { 

を持っていないので、角度を通過するかを把握することはできません

constructor(http: Http) { 
    super(http); 
} 
0

も参照してください、あなたDIは

constructor(http: Http) { 
    super(http); 
    } 
する必要があります
関連する問題