Angular 2 Typescript - 无法解析TooltipService的所有参数

Angular 2 Typescript - 无法解析TooltipService的所有参数

问题描述:

我有这个代码注入一个服务,它使一个http.get请求成为一个组件。Angular 2 Typescript - 无法解析TooltipService的所有参数

该组件呈现正常,但是当我将服务注入组件时出现错误。

并得到错误;

EXCEPTION:无法解析TooltipService的所有参数:(?)。

我已经包含了自举,因为我相信它是一个DI问题,

import { Component, Input } from '@angular/core'; 
import { TooltipService } from '../../services/tooltip/tooltip.service'; 

@Component({ 
    .., 
    .., 
    providers: [TooltipService] 
}) 

export class TooltipComponent implements OnInit { 
    @Input() explaination: boolean; 
    @Input() nodeId: number; 
    @Input() questionId: number; 

    constructor(public tooltipService: TooltipComponent) {} 

    ngOnInit() { 
     if(this.explaination) { 
      this.tooltipService.getExplaination(this.nodeId, this.questionId) 
       .then(response => console.log(response)); 
     } 
    } 
} 

-

import { Http } from '@angular/http'; 
import { Injectable } from '@angular/core'; 
import 'rxjs/add/operator/toPromise'; 

@Injectable() 

export class TooltipService { 
    constructor(public http: HTTP) {} 

    getExplaination(private nodeId: number, private questionId: number) { 

     let url = `someUrl/` 
        + questionId + `/` + nodeId; 

     return this.http.get(url) 
      .toPromise() 
      .then(response => response.json()) 
      .catch(this.handleError); 
    } 

} 

-

import { bootstrap } from '@angular/platform-browser-dynamic'; 
import { disableDeprecatedForms, provideForms } from '@angular/forms'; 
import { HTTP_PROVIDERS } from '@angular/http'; 

import {AppComponent} from '../app/components/app/app.component'; 

bootstrap(AppComponent, [ 
     HTTP_PROVIDERS, 
     disableDeprecatedForms(), 
     provideForms() 
    ]) 
    .catch((err: any) => console.error(err)); 

你在你的代码2个错别字。

Http,不HTTP

export class TooltipService { 
    constructor(public http: Http) {} 

你可能要注入的服务,而不是组件:

export class TooltipComponent implements OnInit { 
    @Input() explaination: boolean; 
    @Input() nodeId: number; 
    @Input() questionId: number; 

    constructor(public tooltipService: TooltipService) {} 
+0

洛尔多么愚蠢的错误 –

+1

偏偏是最好的! :) – rinukkusu

+0

你介意接受解决问题的答案吗? – rinukkusu