ngSwitch根据您的需要,您可以使用 CSS 和 的组合来做一些漂亮的事情。这是一个简单的例子:
<body ng-controller="LoginController">
<div ng-switch="currentUser.loggedIn">
<div ng-switch-when="false">
<div class='top'>
<h1>Welcome</h1>
<a href='about'>About</a>
<a href='contact'>Contact</a>
<a ng-click='login()'>Login</a>
</div>
<div ng-view>
</div>
<div ng-switch-when="true">
<div class='side'>
<h2>Authenticated</h2>
<a href='about'>About</a>
<a href='contact'>Contact</a>
<a ng-click='logout()'>Logout</a>
</div>
<div ng-view>
</div>
</div>
</body>
currentUser.loggedIn现在您可以通过更改值(即做什么login()和做什么)在两种布局之间切换logout()。这是一个基于此概念的示例:http ://plnkr.co/edit/Ng1KGe0Qt9Lpdl2jfhNX?p=preview (单击链接查看效果)。
也有可能,根据您的服务器端技术和堆栈(包括模板和 CSS),根据用户是否登录,提供两个不同的 Angular HTML 页面之一可能同样容易。