我降级了许多基于Angular [Ng2]的组件并在AngularJS应用程序中使用它们,因此理想情况下,如下所示的语句完美无缺 -

angular.module('com.myservicemodule').service("overviewService", upgradeAdapter.downgradeNg2Provider(OverviewComponent));

这里的OverviewComponent是一个Angular [NG2]组件,我已降级它并添加到我的AngularJS模块“com.myservicemodule” . 因此,最终的AngularJs引导应用程序执行如下所示的运行时执行:

var myApp = angular.module('myApp',['com.myservicemodule']) .run('$rootScope', '$q','$window','$location','OverviewComponent', function($q, $window,$location,OverviewComponent){// Some app code});

但是现在我有一个混合应用程序,它带有x个依赖项的引导程序,其中一些依赖项是Angular [NG2]组件的降级版本 .

并开始获取ng2.injector问题,好像这些组件没有按时降级为angularjs .

我尝试使用降级Angular [Ng2]组件的最新方式,如 -

import {UpgradeModule} from '@angular/upgrade/static';
import { platformBrowserDynamic } from '@angular/platform-browser-dynamic';
export const upgradeAdapter = platformBrowserDynamic().bootstrapModule(AppModule).then(platformRef => {
  return platformRef.injector.get(UpgradeModule);  
});

然后将Angular [NG2]组件降级为如下指令:

downgradeComponent({component: OverviewComponent}) as angular.IDirectiveFactory

但是使用它似乎我只能在angularJs 1.X中获得指令 . 所以任何人都知道如何获得服务,控制器同行?