Angular 无法解析所有参数
Angular Can't resolve all parameters
嗨,我从 angular 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 扩展的,我不知道这是否是问题所在,但我不知道不这么认为。
构造函数应具有 http
类型的 Http
参数。通过哪个 Dependency Resolver 会知道,他应该创建一个 Http
注入器的标记。
constructor(http: Http) {
super(http);
}
Angular 不知道要传递什么,因为 http
没有类型注释
constructor(http) {
如果改成
constructor(http:Http) {
并将 HttpModule
添加到 AppModule
的 imports: [...]
,它应该可以工作。
您还需要为 Http
.
添加 TypeScript 导入
另见
在你的客房服务中,你的 DI 应该是
constructor(http: Http) {
super(http);
}
嗨,我从 angular 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 扩展的,我不知道这是否是问题所在,但我不知道不这么认为。
构造函数应具有 http
类型的 Http
参数。通过哪个 Dependency Resolver 会知道,他应该创建一个 Http
注入器的标记。
constructor(http: Http) {
super(http);
}
Angular 不知道要传递什么,因为 http
没有类型注释
constructor(http) {
如果改成
constructor(http:Http) {
并将 HttpModule
添加到 AppModule
的 imports: [...]
,它应该可以工作。
您还需要为 Http
.
另见
在你的客房服务中,你的 DI 应该是
constructor(http: Http) {
super(http);
}