我尝试将应用从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修复程序已发布
2条答案
按热度按时间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
5t7ly7z52#
对我来说,问题是一个错误的进口:
我不得不将其更改为:
希望这对其他人有帮助!