2015-12-21 34 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扩展到整个应用程序,这是非常容易控制组件发送来自任何我需要的地方的活动。