我有以下服務:我注入Angular2服務不正確嗎? (Ionic2項目)
import { Injectable } from '@angular/core';
import {Http} from '@angular/http';
import 'rxjs/add/operator/map';
@Injectable()
export class MovieService {
static get parameters() {
return [[Http]];
}
constructor(private http:Http) {
}
searchMovies(movieName) {
var url = 'http://api.themoviedb.org/3/search/movie?query=&query=' + encodeURI(movieName) + '&api_key=5fbddf6b517048e25bc3ac1bbeafb919';
var response = this.http.get(url).map(res => res.json());
return response;
}
}
(我沒有真正確定的get參數功能的目的是什麼,因爲我來自一個例子得到它,但它的存在似乎並不是造成任何問題)
我試圖注入服務爲一體的組件:
import { Component } from '@angular/core';
import { NavController } from 'ionic-angular';
import {MovieService} from '../../services/psa-web-api.service';
@Component({
templateUrl: 'build/pages/browsed/browsed.html',
providers:[MovieService]
})
export class BrowsedPage {
constructor(private movieService: MovieService, public navCtrl: NavController) {
}
}
但我每次服務通過它吐出以下控制檯錯誤的瀏覽器的應用程序和訪問時間:
EXCEPTION: Error: Uncaught (in promise):
EXCEPTION: Error in ./MyApp class MyApp_Host - inline template:0:0
ORIGINAL EXCEPTION: No provider for ConnectionBackend! ORIGINAL STACKTRACE: Error: DI Exception
我一直沒能找到任何東西在網上關於此錯誤exept這個帖子這是不是超級有用的:https://groups.google.com/forum/#!topic/angular/z7jnb6goZUQ
編輯:添加此進一步的情況下,我國app.ts文件:
import { Component} from '@angular/core';
import { Platform, ionicBootstrap } from 'ionic-angular';
import {HTTP_PROVIDERS } from '@angular/http';
@Component({
template: '<ion-nav [root]="rootPage"></ion-nav>',
providers: []
})
export class MyApp {...}
ionicBootstrap(MyApp, [HTTP_PROVIDERS]);
這修正了它!看起來好像'ionicBootstra()'不是像我認爲的那樣注入'HTTP_PROVIDERS'。 –