注入服务后无法解析组件的所有参数

问题描述 投票:0回答:1

将服务注入组件时出现问题。该服务是全局提供的。我在代码编辑器中收到此错误。

无法解析some.component.ts中的SomeComponent的所有参数:(?)。 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() {}
}

Component

import { Component } from "@angular/core";
import AppService from "./app.service";

@Component({
  selector: "app-some-component"
})
export class SomeComponent {
  constructor(private _appService: AppService) {}
}

我在这里浏览答案,却找不到提供答案的答案。一些答案给出了更改构造函数注入顺序的解决方案。

angular typescript dependency-injection angular-services
1个回答
0
投票

[经过多次尝试,我发现我犯了一个export default class AppService错误。

我发现不建议在Angular中使用默认导出,因为AOT无法正常工作。这是涵盖该问题的文章:Why isn't "export default" recommended in Angular?

所以解决方案是始终正常导出类:

服务

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

@Injectable({
  providedIn: 'root',
})
export class AppService {
  constructor(private _http: HttpClient) {}

  someMethod() {}
}

Component

import { Component } from "@angular/core";
import { AppService } from "./app.service";

@Component({
  selector: "app-some-component"
})
export class SomeComponent {
  constructor(private _appService: AppService) {}
}

希望这可以帮助某人不会像我这样浪费时间。

© www.soinside.com 2019 - 2024. All rights reserved.