首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >AngularJS SubMenu突出显示

AngularJS SubMenu突出显示
EN

Stack Overflow用户
提问于 2015-05-04 14:01:08
回答 1查看 98关注 0票数 2

我有一个菜单控制器,看起来像这样:

代码语言:javascript
复制
apoSoft.controller("MenuCtrl", function($scope, $location) {
  $scope.menuClass = function(page) {
    var current = $location.path().substring(1);
    return page === current ? "active" : "";
  };
});

我的菜单的一小段如下所示:

代码语言:javascript
复制
<ul class="nav navbar-nav">
    <li ng-class="menuClass('usercreate')">
        <a href="#!/usercreate">Create User</a>
    </li>
</ul>

这对主菜单很好用。但现在我需要的是,如果我导航到一个子菜单,那么相关的主菜单应该仍然突出显示。我需要这样的东西:

代码语言:javascript
复制
...
<li ng-class="menuClass('usercreate or usercreateresponse')">
...

但这当然行不通。有人知道我该怎么解决这个问题吗?非常感谢!

EN

回答 1

Stack Overflow用户

发布于 2015-05-04 14:20:52

您可以使用一个事件侦听器来更改作用域变量,而不是在整个菜单中多次调用该函数。我不确定您使用的是哪种路由器,因此现在将采用ngRoute

代码语言:javascript
复制
$scope.$on('$routeChangeSuccess', function(}(
    $scope.path = $location.path().substring(1);
});

然后在ng-class中使用object语法

代码语言:javascript
复制
<li ng-class="{active: path=='usercreate' || path == 'usercreateresponse'}">
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30023495

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档