我正在尝试找出如何根据路线或当前显示的 View 在我的导航栏中显示或隐藏元素。例如,当用户在搜索表单上时,我有一个基本/高级切换按钮,我将它放在导航栏 (Bootstrap 3) 中。但是当他们在应用程序的其他任何地方时,切换按钮应该被隐藏。
就 DOM 而言,它只是构建导航的列表项。我不确定是否应该根据在每个 View 上设置的全局值显示或隐藏,或者我是否可以只使用路由或 View 名称。如果是这样,那将如何运作?
谢谢!
最佳答案
一种解决方案是在负责导航栏的 Controller 中构建一个函数,可以查询该函数以确定是否应显示该元素:
$scope.isActive = function(viewLocation) {
return viewLocation === $location.path();
};
(以上代码使用了Angular的$location服务)
然后在模板中,您可以根据调用结果显示/隐藏(传入应该切换显示元素的路由):
ng-show="isActive('/search-form')"
关于javascript - AngularJs:根据路线隐藏导航栏元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23838042/