首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >StaticInjectorError(AppModule)[AppComponent -> DataService]

StaticInjectorError(AppModule)[AppComponent -> DataService]
EN

Stack Overflow用户
提问于 2019-11-08 22:37:47
回答 2查看 548关注 0票数 0

我一直在学习关于设置平均堆栈的教程,但是当在localhost上运行我的代码时,我会得到一个空白屏幕,错误为'StaticInjectorError(AppModule)DataService -> Http:‘。我花了两天的时间试图找出这个错误,但什么也找不到。

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

data.service.ts

代码语言:javascript
复制
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

代码语言:javascript
复制
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

代码语言:javascript
复制
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);
  }
}
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-11-09 13:43:11

您需要在提供者中添加DataService,app.module.ts文件的一部分如下所示

代码语言:javascript
复制
providers: [DataService],
票数 0
EN

Stack Overflow用户

发布于 2019-11-09 12:54:08

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

代码语言:javascript
复制
  @NgModule({
  declarations: [
    AppComponent
  ],
  imports: [
    BrowserModule,
    HttpModule,
    AppRoutingModule
  ],
  providers: [DataService],
  bootstrap: [AppComponent]
})
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58774599

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档