Angular 10降级服务并在现有angularjs服务中使用它



我们正在运行从angular js到angular 10的混合升级。
我有一个升级到angular的服务。然后我将其降级为注入到现有的angular JS服务中(我们有很多,所以我们需要零碎地做(。

我发现:https://angular.io/guide/upgrade#upgrading-电话服务

然而,这涉及到注入组件,而不是角度服务。长话短说,我得到了"未知提供者";错误

我需要帮助降级服务,并将它们注入现有的angular服务中。

感谢

我们是如何做到的:

  1. 在Angular x中创建一个服务,用@Injectable装饰它(我们使用了@Injectable({ providedIn: "root" })(
  2. 有一个专门的AngularJS模块(我们称之为downgraded.module(,并有以下代码:
import { downgradeInjectable } from "@angular/upgrade/static";
angular
.module("downgraded.module", [])
.factory("MyService", downgradeInjectable(MyService));
  1. downgraded.module作为依赖项,在AngularJS环境中任意位置注册该模块
angular
.module('app', ['downgraded.module']);
  1. 只需像其他任何服务一样注入服务即可

最新更新