我尝试将我的应用从Angular v5迁移到v6,并且在尝试在我的提供商中指定providedIn
时遇到以下打字稿错误
参数类型{providedIn:" root"}不能分配给参数类型{providedIn:Type | "根" | null}& InjectableProvider
@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修复已经发布
答案 0 :(得分:25)
信不信由你,我关闭并在Webstorm中打开了我的项目,错误就消失了
Thx @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