23

我正在尝试将我的应用程序从 Angular v5 迁移到 v6,并且在尝试providedIn在我的提供程序中指定时遇到以下打字稿错误

参数类型 {providedIn: "root"} 不可分配给参数类型 {providedIn: Type | “根” | 空} & InjectableProvider

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

我从 Angular 文档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 修复已发布

4

1 回答 1

33

信不信由你,我在 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

于 2018-05-06T15:25:14.723 回答