得到这个“ConnectionBackend没有提供者!”尝试使用带有promise的http时出错。
原文链接:https://www.f2er.com/angularjs/144017.htmlmain.ts
// ... tl;dr import a bunch of stuff platformBrowserDynamic().bootstrapModule(MyModule);
myModule.ts
// ... tl;dr import a bunch of stuff @NgModule({ declarations: [ PostComponent ],providers: [ Actions,MyService,Http ],imports: [ ... ],bootstrap: [MyComponent] })
myComponent.ts
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); }); } }
myService.ts
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中向提供者添加内容?