角度未捕获错误:无法解析服务的所有参数

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了角度未捕获错误:无法解析服务的所有参数相关的知识,希望对你有一定的参考价值。

我不明白为什么这项服务不起作用?这是依赖关系的一些问题吗?

服务:

import { Http } from '@angular/http';

export class GetWeatherService {

    constructor(private http: Http) {}

    getWeather() {
        return this.http.get(link);
    }
}

和组件:

import { Component, OnInit } from '@angular/core';
import { GetWeatherService } from './get-weather.service';

@Component({
    selector: 'app-form',
    templateUrl: './form.component.html',
    styleUrls: ['./form.component.css'],
    providers: [GetWeatherService]
})
export class FormComponent implements OnInit {

    constructor(public getWeather: GetWeatherService) {}

    ngOnInit() {
        this.getWeather.getWeather();
    }
}
答案

您需要使您的服务可注射:

@Injectable()
export class GetWeatherService {
    //CODE
}
另一答案

在服务上添加@Injectable(),将其注入构造函数中。

import { Http } from '@angular/http';
import { Injectable } from '@angular/core';

@Injectable()
export class GetWeatherService {

    constructor(private http: Http) {}

    getWeather() {
        return this.http.get(link);
    }
}

以上是关于角度未捕获错误:无法解析服务的所有参数的主要内容,如果未能解决你的问题,请参考以下文章

未捕获的错误:无法解析 AppComponent 的所有参数:(?)

未捕获的类型错误:无法读取未定义的属性 XXX

尝试将服务注入角度组件时出错“例外:无法解析组件的所有参数”,为啥?

socket.io 角度错误:未捕获的 TypeError:无法调用 null 的方法“onClose”

未捕获的错误:模板解析错误:无法绑定到“FormGroup”,因为它不是“form”的已知属性

“未捕获的类型错误:无法在 Websocket Angular JS 上读取未定义的属性‘延迟’”