javascript - AngularJs:根据路线隐藏导航栏元素?

标签 javascript angularjs twitter-bootstrap

我正在尝试找出如何根据路线或当前显示的 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/

相关文章:

javascript - 用 javascript 构建通知中心

javascript - 自动填写的计算表格

javascript - JSON解析后无法获取值

angularjs - 如何使 angular ui 中的轮播指示器使用 Controller 中模型的缩略图?

android - $ cordovaFile.writeFile()每当我尝试单击图片并在ionic中发送带有它的api请求时,总是在ionic IOS中引发错误?

html - Bootstrap 2.3 - div 行之间不需要的垂直空间

javascript - 无法看到清晰的图片 Bootstrap LightBox

javascript - 有没有办法在这个 v-for 中正确使用索引而不出现错误

angularjs - Paypal api oauth

javascript - 为 Bootstrap 元素加载 cookie 的更好方法