问题:
如何将“登录”视图/路线添加到我的角度应用程序中,隐藏位于ng-view
DOM?
情况:
在我的 Angular 页面中,左侧有一个导航树视图,中间有一个主视图:
<div ng-app="myApp">
<div class="col-sm-3" ng-controller="TreeController">
<div treeviewdirective-here>
</div>
</div>
<div class="col-sm-9 content" ng-view="">
</div>
</div>
树视图中的每个节点都使用类似的方法更改位置window.location.hash = '#/' + routeForTheClickedItem;
.
使用标准路由,效果很好,即树不会每次都重新加载,而只是主“窗口”。
Problem:
我想添加带有登录视图的登录功能。对于此视图,树视图不应可见 - 仅在登录后才可见。为了通过正常路由实现这一点,我知道我可以移动ng-view
上一层,即将树视图嵌入到每个视图中 - 但这会导致树视图在每次路由更改时重新加载。
有没有一个简单的替代方法可以让我检查 ng-view 中显示的页面?或者在路由过程中检查其他一些变量集?然后我可以使用类似的东西:
<div class="col-sm-3" ng-controller="TreeController" ng-show="IsUserLoggedIn">
您可以在 ng-view 之外监听 routeChangeSuccess
$scope.$on('$routeChangeSuccess', function (event, currentRoute, previousRoute) {
//do something here
});
希望有帮助,你可以在 angularjs IRC 上找到我 - maurycyg
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)