1

目前在混合 angularjs 1.4/angular 5.2 应用程序中升级 angularjs 服务的正确方法是什么,以便我可以在组件中作为提供者使用它?

两个代码库都是打字稿,我使用新的 downgradeModule 来降级角度组件,以控制摘要的数量并且不想破坏它。

我为 Angular js 应用程序生成了一个类型定义文件,以便可以假定所有类都是可访问的。

编辑: 我尝试将服务包装在像 ValueProvider 这样的对象中(我必须用 getter 和 setter 将整个东西包装在另一个对象中以返回它,以便隐藏来自 Angular 的函数调用,它不喜欢函数调用装饰师)。继承人的代码没有 trixing 来解释这个想法。

providers: [
  {
    provide: MyNamespace.MyService,
    useValue: angular.element("body").injector().get("myService")
  }
]

但是当我尝试将它注入组件构造函数时会出错。

如果我只将它添加到构造函数中,我会得到:[Angular] Can't resolve all parameters for SeparatorComponent in d:/Source/Prevero/Everest/src/com/prevero/everest/oneclient/src/modules/app_components/separators/separator.component.ts: (?).

如果我将它添加到提供者数组中,我会得到[Angular] Invalid providers for "SeparatorComponent in d:/Source/Prevero/Everest/src/com/prevero/everest/oneclient/src/modules/app_components/separators/separator.component.ts" - only instances of Provider and Type are allowed, got: [?null?]

4

0 回答 0