typescript WebStorm -参数类型{提供于:“root”}不可分配给参数类型{providedIn:型号< any>|“根目录”|null}可注入提供程序(&amp; I)

mkh04yzy  于 2022-12-05  发布在  TypeScript
关注(0)|答案(2)|浏览(67)

我尝试将应用从Angular v5迁移到v6,但在尝试在提供程序中指定providedIn时遇到以下类型脚本错误
参数类型{providedIn:“root”}不可分配给参数类型{providedIn:型号|“根目录”|null}可注入提供程序(& I)

@Injectable({
    providedIn: 'root',
 })
 export class MyService {
 }

我复制并粘贴了Angular doc https://angular.io/guide/dependency-injection中的代码
你知道吗?

更新

我已经创建了一个空白项目ng new ...并添加了一个提供者ng g service my-new-service,在WebStorm中打开了该项目,一切正常,我没有遇到任何与该虚拟项目有关的错误

更新

我联系了WebStorm支持,结果发现这是WebStorm https://youtrack.jetbrains.com/issue/WEB-32634的一个已知错误

更新

Webstorm 2018.1.4(尚未发布)应修复此问题,请参阅https://youtrack.jetbrains.com/issue/WEB-32634

更新

Webstorm团队将修复移至2018.1.5

更新

2018年6月17日星期日,Webstorm修复程序已发布

nhaq1z21

nhaq1z211#

信不信由你,我在Webstorm中关闭并打开了我的项目,错误就消失了
感谢@yurzui和@AdrianFâciu的支持

更新

原来这是Webstorm中的一个已确认的错误,后来在v2018.1.5中得到了纠正,并于2018年8月17日星期日发布。我已经将我的编辑器更新到了这个版本,不再面临这个问题
Webstorm问题跟踪器:https://youtrack.jetbrains.com/issue/WEB-32634
v2018.1.5版本说明:https://confluence.jetbrains.com/display/WI/WebStorm+181.5281.31+Release+Notes

5t7ly7z5

5t7ly7z52#

对我来说,问题是一个错误的进口:

import { Injectable } from '@nestjs/common';

我不得不将其更改为:

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

希望这对其他人有帮助!

相关问题