1

多くの 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] コンポーネントのダウングレード バージョンです。

そして、これらのコンポーネントが angularjs に間に合うようにダウングレードされていないかのように、ng2.injector の問題が発生し始めます。

ダウングレード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でディレクティブのみを取得するようです。では、サービス、コントローラーの対応者を取得する方法を知っている人はいますか?

4

0 に答える 0