2016-11-18 4 views
-1

私の会社の内部ツールとして(本当に)巨大なAngular 2アプリケーションを開発しています。アプリケーションは、特定のユーザーだけがアクセスできるさまざまなサブアプリケーションで構成されています。サブコンポーネントのDIエラー

これを実行するには、CanActivateクラスを使用してオブザーバブルを返してみました。アクセスを検証するために私のサービスの1つを照会しましたが、サービスをインポートしようとするとクラスのコンストラクタが無効になります。

私はアプリケーション自体でテストを移動しましたが、同じ方法で失敗しました。したがって、問題はサービスそのものにある可能性があります。非常に奇妙なことは、アプリケーションコンテナが同じサービスを使用していることです。何の問題もありません(サービスは利用可能なアプリケーションのリストも提供しており、アプリケーションメニューを生成しています)。

問題はコンポーネントの読み込み順序(おそらくHttp-関連)ですが、どこから見てもわかりません。残念ながら、アプリケーションの複雑さを考えると、問題を特定するのは非常に難しく、何をすべきか分かりません。

同様の問題が検索され、同様の状況が検出されましたが、その間にAngular2の開発が進んでおり、これらのソリューションは役に立たなくなっています。

+0

[mcve]と特定のエラーがなければ、ほとんど助けが不可能です。 – jonrsharpe

+0

'CanActivate'クラスの上に' @Injectable() 'を入れましたか? – PierreDuc

+0

@jonrsharpeあなたは絶対に正しいですが、私が言ったように私はこの動作を分離することは不可能です。アプリケーションが複雑すぎる –

答えて

0

私はこの問題で一日を過ごしましたが、私はそれをほとんど理解しました。
DI関連ではありませんでしたが、constインポートでは間違ったものでした(もちろん、与えられたエラーは間違いです)。私はそれを移動し、今は正しく動作します。とにかくありがとうございます。