Angular 4 - 使用 HttpModule 我收到错误 "No provider for ConnectionBackend!"
Angular 4 - using HttpModule I get the error "No provider for ConnectionBackend!"
我是 Angular4(和 TypeScript)的新手,我遇到了这个错误:
我的 app.module.ts 是这样设置的:
import { NgModule } from '@angular/core';
import { BrowserModule } from '@angular/platform-browser';
import { FormsModule } from '@angular/forms';
import { HttpModule } from '@angular/http';
import { AppComponent } from './app.component';
import { CustomerListComponent } from './Customer-List/customer-list.component';
import { CustomerDetailsComponent } from './Customer-Details/customer-details.component';
import { DataService } from './services/data.service';
@NgModule({
imports: [ BrowserModule, FormsModule, HttpModule ],
declarations: [ AppComponent, CustomerListComponent, CustomerDetailsComponent ],
providers: [ DataService ],
bootstrap: [ AppComponent ]
})
export class AppModule { }
我有一个服务(称为 DataService),它在以下代码中使用 Http 模块:
import { Injectable } from '@angular/core';
import { Http, Response, RequestOptions, Headers } from '@angular/http';
import { CreateTestCustomers } from '../data/test-data';
import { Customer } from '../Models/customerModel';
@Injectable()
export class DataService {
private customersUrl = 'http://localhost:52740/api/Customers/';
constructor(
private http : Http
) { }
getCustomersP() : Promise<Customer[]>{
const customers = CreateTestCustomers();
return this.http.get(this.customersUrl)
.toPromise()
.then(response => {
const custs = response.json().data as Customer[];
return custs;
}, error => {
return Promise.reject('Something bad happened, please check the console');
},);
}
}
当我尝试编译我的应用程序时,出现了这个奇怪的错误:
Unhandled Promise rejection: No provider for ConnectionBackend! ; Zone: <root> ; Task: Promise.then ; Value: Error: No provider for ConnectionBackend! Error: No provider for ConnectionBackend!
at ReflectiveInjector_.prototype._throwOrNull (eval code:2681:13)
at ReflectiveInjector_.prototype._getByKeyDefault (eval code:2720:13)
at ReflectiveInjector_.prototype._getByKey (eval code:2652:13)
at ReflectiveInjector_.prototype.get (eval code:2521:9)
at resolveNgModuleDep (eval code:9513:5)
at _createClass (eval code:9555:13)
at _createProviderInstance (eval code:9524:13)
at resolveNgModuleDep (eval code:9508:13)
at _createClass (eval code:9555:13)
at _createProviderInstance (eval code:9524:13)
zone.js (661,17)
"Unhandled Promise rejection:"
"No provider for ConnectionBackend!"
"; Zone:"
"<root>"
"; Task:"
"Promise.then"
"; Value:"
{
[functions]: ,
__proto__: { },
__zone_symbol__currentTask: { },
description: "No provider for ConnectionBackend!",
injectors: [ ],
keys: [ ],
message: "No provider for ConnectionBackend!",
name: "Error",
ngDebugContext: { },
ngOriginalError: undefined,
stack: "Error: No provider for ConnectionBackend!
at ReflectiveInjector_.prototype._throwOrNull (eval code:2681:13)
at ReflectiveInjector_.prototype._getByKeyDefault (eval code:2720:13)
at ReflectiveInjector_.prototype._getByKey (eval code:2652:13)
at ReflectiveInjector_.prototype.get (eval code:2521:9)
at resolveNgModuleDep (eval code:9513:5)
at _createClass (eval code:9555:13)
at _createProviderInstance (eval code:9524:13)
at resolveNgModuleDep (eval code:9508:13)
at _createClass (eval code:9555:13)
at _createProviderInstance (eval code:9524:13)"
}
"Error: No provider for ConnectionBackend!
at ReflectiveInjector_.prototype._throwOrNull (eval code:2681:13)
at ReflectiveInjector_.prototype._getByKeyDefault (eval code:2720:13)
at ReflectiveInjector_.prototype._getByKey (eval code:2652:13)
at ReflectiveInjector_.prototype.get (eval code:2521:9)
at resolveNgModuleDep (eval code:9513:5)
at _createClass (eval code:9555:13)
at _createProviderInstance (eval code:9524:13)
at resolveNgModuleDep (eval code:9508:13)
at _createClass (eval code:9555:13)
at _createProviderInstance (eval code:9524:13)"
有人遇到过这个吗?网上的一切似乎都指的是 Angular 2,none 的修复似乎对 angular 4 有帮助。
我看过这篇文章,但没有得到解答 - 我的问题看起来很相似:angular 4 Error: Uncaught (in promise): Error: No provider for ConnectionBackend! while injecting Jsonp
提前致谢!
与其说是答案,不如说是解决方法。我搭建了一个新项目,并将我的组件一个一个地添加回去以解决这个问题。不确定原始项目发生了什么。
我是 Angular4(和 TypeScript)的新手,我遇到了这个错误:
我的 app.module.ts 是这样设置的:
import { NgModule } from '@angular/core';
import { BrowserModule } from '@angular/platform-browser';
import { FormsModule } from '@angular/forms';
import { HttpModule } from '@angular/http';
import { AppComponent } from './app.component';
import { CustomerListComponent } from './Customer-List/customer-list.component';
import { CustomerDetailsComponent } from './Customer-Details/customer-details.component';
import { DataService } from './services/data.service';
@NgModule({
imports: [ BrowserModule, FormsModule, HttpModule ],
declarations: [ AppComponent, CustomerListComponent, CustomerDetailsComponent ],
providers: [ DataService ],
bootstrap: [ AppComponent ]
})
export class AppModule { }
我有一个服务(称为 DataService),它在以下代码中使用 Http 模块:
import { Injectable } from '@angular/core';
import { Http, Response, RequestOptions, Headers } from '@angular/http';
import { CreateTestCustomers } from '../data/test-data';
import { Customer } from '../Models/customerModel';
@Injectable()
export class DataService {
private customersUrl = 'http://localhost:52740/api/Customers/';
constructor(
private http : Http
) { }
getCustomersP() : Promise<Customer[]>{
const customers = CreateTestCustomers();
return this.http.get(this.customersUrl)
.toPromise()
.then(response => {
const custs = response.json().data as Customer[];
return custs;
}, error => {
return Promise.reject('Something bad happened, please check the console');
},);
}
}
当我尝试编译我的应用程序时,出现了这个奇怪的错误:
Unhandled Promise rejection: No provider for ConnectionBackend! ; Zone: <root> ; Task: Promise.then ; Value: Error: No provider for ConnectionBackend! Error: No provider for ConnectionBackend!
at ReflectiveInjector_.prototype._throwOrNull (eval code:2681:13)
at ReflectiveInjector_.prototype._getByKeyDefault (eval code:2720:13)
at ReflectiveInjector_.prototype._getByKey (eval code:2652:13)
at ReflectiveInjector_.prototype.get (eval code:2521:9)
at resolveNgModuleDep (eval code:9513:5)
at _createClass (eval code:9555:13)
at _createProviderInstance (eval code:9524:13)
at resolveNgModuleDep (eval code:9508:13)
at _createClass (eval code:9555:13)
at _createProviderInstance (eval code:9524:13)
zone.js (661,17)
"Unhandled Promise rejection:"
"No provider for ConnectionBackend!"
"; Zone:"
"<root>"
"; Task:"
"Promise.then"
"; Value:"
{
[functions]: ,
__proto__: { },
__zone_symbol__currentTask: { },
description: "No provider for ConnectionBackend!",
injectors: [ ],
keys: [ ],
message: "No provider for ConnectionBackend!",
name: "Error",
ngDebugContext: { },
ngOriginalError: undefined,
stack: "Error: No provider for ConnectionBackend!
at ReflectiveInjector_.prototype._throwOrNull (eval code:2681:13)
at ReflectiveInjector_.prototype._getByKeyDefault (eval code:2720:13)
at ReflectiveInjector_.prototype._getByKey (eval code:2652:13)
at ReflectiveInjector_.prototype.get (eval code:2521:9)
at resolveNgModuleDep (eval code:9513:5)
at _createClass (eval code:9555:13)
at _createProviderInstance (eval code:9524:13)
at resolveNgModuleDep (eval code:9508:13)
at _createClass (eval code:9555:13)
at _createProviderInstance (eval code:9524:13)"
}
"Error: No provider for ConnectionBackend!
at ReflectiveInjector_.prototype._throwOrNull (eval code:2681:13)
at ReflectiveInjector_.prototype._getByKeyDefault (eval code:2720:13)
at ReflectiveInjector_.prototype._getByKey (eval code:2652:13)
at ReflectiveInjector_.prototype.get (eval code:2521:9)
at resolveNgModuleDep (eval code:9513:5)
at _createClass (eval code:9555:13)
at _createProviderInstance (eval code:9524:13)
at resolveNgModuleDep (eval code:9508:13)
at _createClass (eval code:9555:13)
at _createProviderInstance (eval code:9524:13)"
有人遇到过这个吗?网上的一切似乎都指的是 Angular 2,none 的修复似乎对 angular 4 有帮助。
我看过这篇文章,但没有得到解答 - 我的问题看起来很相似:angular 4 Error: Uncaught (in promise): Error: No provider for ConnectionBackend! while injecting Jsonp
提前致谢!
与其说是答案,不如说是解决方法。我搭建了一个新项目,并将我的组件一个一个地添加回去以解决这个问题。不确定原始项目发生了什么。