如何解决Angular 10降级服务并在现有的angularjs服务中使用它
我们正在进行从Angular js到Angular 10的混合升级。
我有一项服务,我已经升级到了angular。然后我将其降级以注入到现有的angular JS服务中(我们有很多,所以我们需要做一些零碎的工作。)
我发现了这个:https://angular.io/guide/upgrade#upgrading-the-phone-service
但是,这涉及到注入组件,而不是角度服务。长话短说,我收到“未知提供者”错误。
我需要帮助将服务降级并将其注入到现有的角度服务中。
谢谢
解决方法
我们如何做到的:
- 在Angular x中创建服务,并用
@Injectable
装饰(我们使用@Injectable({ providedIn: "root" })
); - 具有专用的AngularJS模块(我们将其称为
downgraded.module
),并具有以下代码:
import { downgradeInjectable } from "@angular/upgrade/static";
angular
.module("downgraded.module",[])
.factory("MyService",downgradeInjectable(MyService));
- 以
downgraded.module
作为依赖项在AngularJS环境中的任何位置注册该模块
angular
.module('app',['downgraded.module']);
- 只需像其他任何方式一样注入服务。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。