在您的FooterCtrl
控制器中,密切关注路线变化。
每当路由更改时,获取有关用户是否登录的信息。
因此,您的代码看起来有点像这样 - 在您的控制器中,有以下代码:
$scope.$on('$routeChangeStart', function (next, current) {
//Get the current state of the user log in.
//Accordingly, set the variable
//If user is logged in
$scope.userIsLoggedIn = true;
//Else
$scope.userIsLoggedIn = false;
});
因此,您的作用域现在可以在每次路由更改时知道用户是否登录 - 我假设如果您的应用程序配置正确,则每次将不同的模板加载到ng-view
.
现在,您的视图可以很简单:
<div ng-view>
</div>
<div ng-controller="FooterCtrl">
<footer ng-show="userIsLoggedIn">
<!-- Info to show when user is logged in -->
</footer>
<footer ng-hide="userIsLoggedIn">
<!-- Info to show when user is NOT logged in -->
</footer>
</div>
因此,您的页脚根据用户的登录状态显示数据。每次视图模板更改时,控制器都会确定登录状态并相应地显示视图。