嗨我有角度Can't resolve all parameters for RoomService: (?).
的错误我有这两个文件,就是服务。
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扩展我不知道这是否是问题,但我不认为如此。
答案 0 :(得分:2)
构造函数应具有http
类型的Http
参数。依赖解析器将通过它知道,他应该创建Http
注入器的令牌。
constructor(http: Http) {
super(http);
}
答案 1 :(得分:0)
Angular无法确定要传递的内容,因为http
没有类型注释
constructor(http) {
如果您将其更改为
constructor(http:Http) {
并将HttpModule
添加到imports: [...]
的{{1}},它应该有效。
您还需要为AppModule
添加TypeScript导入。
另见
答案 2 :(得分:0)
在你的roomService中,你DI应该是
constructor(http: Http) {
super(http);
}