2015-12-21 67 views
0

我建立SPA應用程序,我想諮詢有關最佳實踐(整理項目結構)後續問題:機制的角度變化的部分(角JS)

我的主頁上有認證的一些信息和地點或問候用戶。在這個地方,我需要顯示以下兩種狀態之一:第一 - 用戶沒有被授權,我向他展示登錄形式,第二: - 用戶被授權,我向他展示「你好,男人」。

我知道兩個不好的決定。 1.我可以使用ng-switch(我認爲它不好)。 2.我可以使用ng-include之類的東西來調用函數來獲取實際的html子視圖。 (我認爲它首先會變得更糟)。

另外我聽了關於「ui路由器」,但我不確定這是最好的方式。

如何更好地組織我的項目,哪些更好用?

+0

請粘貼您的代碼!!! – Maher

+0

> Rerer this link [如何替換部分的部分在ng視圖](http://stackoverflow.com/questions/20253162/how-to-replace-a-part- of-sections-in-ng-view) –

+0

@Maher是什麼代碼?來自我的建築思想的代碼?這是我沒有編碼的階段。我想到了開始的最佳途徑。 –

回答

0

您可以使用ng-switchng-if通過可變isLogged

控制我會做一個模板的login.html和裏面我會用NG-開關。

但更先進的一種選擇是使用由類似事件控制的指令:

.directive('loginDialog', function (AUTH_EVENTS) { 
    return { 
    restrict: 'A', 
    template: '<div ng-if="visible" 
        ng-include="\'login-form.html\'">', 
    link: function (scope) { 
     var showDialog = function() { 
     scope.visible = true; 
     }; 

     scope.visible = false; 
     scope.$on(AUTH_EVENTS.notAuthenticated, showDialog); 
     scope.$on(AUTH_EVENTS.sessionTimeout, showDialog) 
    } 
    }; 
}) 

我使用事件在這種情況下,因爲這個的funcionality擴展到整個應用程序,這是非常容易控制組件發送來自任何我需要的地方的活動。