2017-10-09 69 views
0

我需要關於如何創建兩個獨立Angularjs應用程序文件夾的應用程序結構的想法。連接兩個AngularJS應用程序項目

比方說:

在我的XAMPP/htdocs下,我有Angularjs應用程序文件夾中的一個單獨的文件夾。 A應用程序文件夾和B應用程序文件夾需要彼此集成(我不知道它是否是正確的術語)。

例如,在A應用程序文件夾中有SignIn,當憑據有效時,它將重定向到B app文件夾,當在B app文件夾中登出時,用戶將被重定向到一個應用程序文件夾。

我的問題是,我怎樣才能連接這兩個(A和B應用程序文件夾)?

我希望我討論得很好以便理解。謝謝。

回答

1

您可以使用服務來實現此目標。 由於你有兩個不同的應用程序,你需要在它們之間建立一個橋樑,一個好方法是創建可以注入需要它們的服務。 甲AngularJs服務的AngularJs應用內部產生,通過使用您的角模塊這樣它聲明:

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

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

     return serviceInstance; 
    } 
]); 

以上此服務是一個名爲「MyCustomService」的服務,其具有所謂的「operationYouNeed」方法的一個示例性結構。

在您的AngularJs App控制器上,您可以注入MyCustomService並調用operationYouNeed,因爲您可能需要它。

考慮到您公開的情況,我不知道保持記錄的用戶上下文的方式,但是您可以評估service方法的用戶操作,然後調用$ location.path(「您的app2根url 「)爲了重定向用戶,或者,如果是這種情況,請調用$ window.location.href =」您的app2根URL「以導致頁面重新加載。

在我編寫的應用程序中,我使用實現基於令牌的身份驗證並將臨時TOKE存儲爲私有cookie,因此如果我有您的應用場景,在App2上我會在我的服務中注入$ cookie並將其用於檢索臨時cookie以檢查會話驗證,並決定是否需要重定向我的用戶。

您可以在這裏實現的另一種概念是使用第三個AngularJs應用程序來聲明您的公共服務,因此您不需要在兩個應用程序之間創建任何危險的循環引用。

我不知道你的AngularJs知識deepnes但你永諾需要聲明一個模塊依賴磨片,你做這樣的事情,通過包括它的AngularJs應用模塊上,像這樣:

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

希望能幫助到你。 乾杯。

相關問題