StaticInjectorError(AppModule)[AppComponent-> DataService]

问题描述 投票:0回答:2

[我一直在遵循有关设置平均堆栈的教程,但是在本地主机上运行代码时,出现黑屏,并显示错误信息'StaticInjectorError(AppModule)[DataService-> Http]:'。我花了两天的时间来弄清楚这个错误,却找不到任何东西。

关于我使用的工具的详细信息,Angular 8.3.17,节点v12

data.service.ts

import { Injectable } from '@angular/core';

import { Http, Headers, RequestOptions } from '@angular/http';
import 'rxjs/add/operator/map';


@Injectable()
export class DataService {

  result:any;

  constructor(private _http: Http) { }

  getAccounts() {
    return this._http.get("/api/accounts")
      .map(result => this.result = result.json().data);
  }

}

app.module.ts

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

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

// Import the Http Module and our Data Service
import { HttpModule } from '@angular/http';
import { DataService } from './data.service';

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

app.component.ts

import { Component } from '@angular/core';

// Import the DataService
import { DataService } from './data.service';

@Component({
  selector: 'app-root',
  templateUrl: './app.component.html',
  styleUrls: ['./app.component.css']
})
export class AppComponent {

  // Define a users property to hold our user data
  accounts: Array<any>;

  // Create an instance of the DataService through dependency injection
  constructor(private _dataService: DataService) {

    // Access the Data Service's getUsers() method we defined
    this._dataService.getAccounts()
        .subscribe(res => this.accounts = res);
  }
}
node.js mean-stack angular8
2个回答
0
投票

我发现了问题,我不得不将dataService添加到我的提供程序数组中,并且将HttpModule添加到导入中。

  @NgModule({
  declarations: [
    AppComponent
  ],
  imports: [
    BrowserModule,
    HttpModule,
    AppRoutingModule
  ],
  providers: [DataService],
  bootstrap: [AppComponent]
})

0
投票

您需要像这样在app.module.ts文件的提供程序部分中添加DataService

providers: [DataService],
© www.soinside.com 2019 - 2024. All rights reserved.