注入服务时无法解析组件的所有参数
Can't resolve all parameters for component when service is injected
我在向我的组件注入服务时遇到问题。该服务在全球范围内提供。
我在我的代码编辑器中收到此错误。
Can't resolve all parameters for SomeComponent in some.component.ts: (?). ng(0)
奇怪的是我的应用程序运行正常,编译器没有抛出任何错误。
服务
import { Injectable } from '@angular/core';
import { HttpClient } from '@angular/common/http';
@Injectable({
providedIn: 'root',
})
export default class AppService {
constructor(private _http: HttpClient) {}
someMethod() {}
}
组件
import { Component } from "@angular/core";
import AppService from "./app.service";
@Component({
selector: "app-some-component"
})
export class SomeComponent {
constructor(private _appService: AppService) {}
}
我在此处查看答案,但找不到任何提供答案的答案。
一些答案给出了改变构造函数注入顺序的解决方案。
经过多次尝试,我发现我弄错了export default class AppService
。
我发现不建议在 Angular 中使用默认导出,因为 AOT 不起作用。这是涵盖该问题的文章:
所以解决方案是始终正常导出 class:
服务
import { Injectable } from '@angular/core';
import { HttpClient } from '@angular/common/http';
@Injectable({
providedIn: 'root',
})
export class AppService {
constructor(private _http: HttpClient) {}
someMethod() {}
}
组件
import { Component } from "@angular/core";
import { AppService } from "./app.service";
@Component({
selector: "app-some-component"
})
export class SomeComponent {
constructor(private _appService: AppService) {}
}
希望这可以帮助其他人不要像我一样浪费时间。
我在向我的组件注入服务时遇到问题。该服务在全球范围内提供。 我在我的代码编辑器中收到此错误。
Can't resolve all parameters for SomeComponent in some.component.ts: (?). ng(0)
奇怪的是我的应用程序运行正常,编译器没有抛出任何错误。
服务
import { Injectable } from '@angular/core';
import { HttpClient } from '@angular/common/http';
@Injectable({
providedIn: 'root',
})
export default class AppService {
constructor(private _http: HttpClient) {}
someMethod() {}
}
组件
import { Component } from "@angular/core";
import AppService from "./app.service";
@Component({
selector: "app-some-component"
})
export class SomeComponent {
constructor(private _appService: AppService) {}
}
我在此处查看答案,但找不到任何提供答案的答案。 一些答案给出了改变构造函数注入顺序的解决方案。
经过多次尝试,我发现我弄错了export default class AppService
。
我发现不建议在 Angular 中使用默认导出,因为 AOT 不起作用。这是涵盖该问题的文章:
所以解决方案是始终正常导出 class:
服务
import { Injectable } from '@angular/core';
import { HttpClient } from '@angular/common/http';
@Injectable({
providedIn: 'root',
})
export class AppService {
constructor(private _http: HttpClient) {}
someMethod() {}
}
组件
import { Component } from "@angular/core";
import { AppService } from "./app.service";
@Component({
selector: "app-some-component"
})
export class SomeComponent {
constructor(private _appService: AppService) {}
}
希望这可以帮助其他人不要像我一样浪费时间。