2017-10-09 2 views
0

2つの別々のAngularjs Appフォルダのアプリケーション構造を作成する方法が必要です。2つのAngularJS Appプロジェクトを接続する

はさんは言ってみましょう:私のXAMPPの/ htdocsにするには

、私はAngularjs appフォルダの別のフォルダを持っています。 A appフォルダとB appフォルダは統合する必要があります(私は、それが適切な用語であるかどうかは分かりません)。

例では、Bアプリフォルダのサインアウト時にユーザーがAアプリフォルダにリダイレクトされるときに、資格情報が有効な場合はBアプリフォルダにリダイレクトされます。

私の質問は、どのように2つ(AとBのアプリケーションフォルダ)を接続することができますか?

私はそれを十分に理解することを望みました。ありがとう。

答えて

1

この目的を達成するためにサービスを利用できます。 2つの異なるアプリケーションがあり、それらの間にブリッジを作成する必要があるので、必要な場所に注入できるサービスを作成することをお勧めします。 A AngularJsサービスは、このようなあなたの角度のモジュールを使用してそれを宣言することで、AngularJsアプリケーション内に作成されます。

angular.module("YourAngularModuleName").factory("MyCustomService", 
[ 
    "injectedDependency", 
    function(injectedDependency) 
    { 
     var serviceInstance={}; 

     serviceInstance.operationYouNeed = function(){ 
      //do your stuff. 
      return; 
     }; 

     return serviceInstance; 
    } 
]); 

これ以上のサービス「operationYouNeed」と呼ばれる方法を持っている「MyCustomService」と呼ばれるサービスの構成例であります。

AngularJs Appコントローラでは、MyCustomServiceを注入して、必要に応じて操作を呼び出すことができます。

公開したシナリオを考慮すると、ログに記録されたユーザーコンテキストを保持する方法はわかりませんが、サービスメソッドでユーザーアクションを評価してから、$ location.path( "app2 root url ")、もしそうであれば、$ window.location.href ="あなたのapp2のルートURL "を呼び出して、ページのリロードを引き起こします。

私が書いたアプリケーションでは、私はトークンベースの認証を実装してプライベートなクッキーとして一時的なtokeを保存しています。そのため、App2であなたのアプリケーションのシナリオがあれば、セッションの妥当性をチェックし、ユーザーをリダイレクトする必要があるかどうかを判断するために一時的なCookieを取得します。

ここで実装できるもう1つのコンセプトは、共通のサービスを宣言する3番目のAngularJsアプリケーションを使用することです。そのため、2つのアプリケーション間に危険な循環参照を作成する必要はありません。

私はあなたのAngularJsの知識のdeepnesを知らないが、あなたはオールウェイズので、同じように、あなたはAngularJsアプリモジュールでそれを含めることによって、このような何かをしWHEモジュールの依存関係を宣言する必要があります:

angular.module("YourAngularModuleName",["anotherDepencyModule", "another", ...]); 

それが役に立てば幸い。 乾杯。

関連する問題