- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
得到这个“ConnectionBackend 没有提供者!”尝试使用带有 promise 的 http
时出错。
// ... tl;dr import a bunch of stuff
platformBrowserDynamic().bootstrapModule(MyModule);
// ... tl;dr import a bunch of stuff
@NgModule({
declarations: [
PostComponent
],
providers: [
Actions,
MyService,
Http
],
imports: [
...
],
bootstrap: [MyComponent]
})
import { Component, OnInit } from '@angular/core';
import {ActivatedRoute, Router} from '@angular/router';
import {Observable} from 'rxjs/Observable';
import {MyService} from './../services/myService'
import {Post} from './post';
@Component({
templateUrl: 'post.component.html',
styleUrls: ['post.component.css']
})
export class MyComponent implements OnInit {
post: Observable<Post>;
postId : Number;
constructor(private route: ActivatedRoute, private router: Router, private service:MyService) {
}
ngOnInit() {
this.route.params.subscribe(params => {
this.postId = +params['id'];
this.post = this.service.getPostById(this.postId);
});
}
}
import {Injectable} from "@angular/core"
import {Http} from '@angular/http';
import {Observable} from 'rxjs/Observable';
import {Post} from './../post/post';
import 'rxjs/Rx'
@Injectable()
export class MyService {
endpoint_url:String = "http://someurl.com/";
constructor(private http: Http){
}
getPostById (id:Number) : Observable<Post> {
return this.http.get(this.endpoint_url + id.toString()).map(res => res.json());
}
}
一切看起来都不错,但后来我得到这个错误:
error_handler.js:51Error: Uncaught (in promise): Error: Error in ./MyComponent class MyComponent_Host - inline template:0:0 caused by: No provider for ConnectionBackend!
at resolvePromise (zone.js:429)
at zone.js:406
...
和here is the docs for ConnectionBackend .我想我只需要向 myModule
中的 providers
添加一些内容?
最佳答案
在您的模块中导入 HttpModule 而不是将 Http
注册为提供者。
import {HttpModule} from '@angular/http';
@NgModule({
imports: [HttpModule],
declarations: [
PostComponent
],
providers: [
Actions,
MyService
],
bootstrap: [MyComponent]
})
HttpModule 为其所有服务注册提供者。
关于 Angular 2 : No provider for ConnectionBackend,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40098413/
得到这个“ConnectionBackend 没有提供者!”尝试使用带有 promise 的 http 时出错。 主.ts // ... tl;dr import a bunch of stuff p
所以最近我不得不更新到最新版本的 Angular2,RC.6。最大的突破性变化似乎是整个引导过程(通过“引入”ngModule)。 @NgModule({ imports: [HttpModu
我尝试使用 angular2 http 请求,但出现以下错误:[错误] 异常:ConnectionBackend 没有提供程序! (AppComponent -> Http -> Connection
我正在使用 ionic 2,我创建了一个简单的服务 import { Injectable } from '@angular/core'; import { Http } from '@angular
我正在尝试围绕 Angular 2 中的内置 Http 服务制作一个包装器,以便有可能添加自定义行为( header 、参数等) 所以我创建了一个普通的类(不是服务)并继承自Http。 Class d
我通过复制我的旧 beta11 项目的文件启动了一个新的 ionic 2 rc0 应用程序。我按照 中所述执行了必要的步骤 将您的项目复制到新项目:ionic 2 rc0 changelog 现在终于
类型提供者 ConnectionBackend从 Angular 升级后不再工作 2.0.0-rc.5至 2.0.0 . 当我将其放入我的提供商列表时。我从 Visual Studio 代码中得到这个
升级到 ng2 final (2.0.0) 后出现此错误: MyComponent_Host - inline template:0:0 caused by: No provider for Conn
我是一名优秀的程序员,十分优秀!