选择子菜单时AngularJS ng类父菜单处于活动状态



我用这种方式创建了菜单和子菜单:

<li>
    <a href="#/solution" ng-class="{ current: isActive('/solution') }" >
        <i class="halflings white home"></i> 
        {{menu.home}}
    </a>
</li>

当我在localhost/Solution上时,Solution菜单处于活动状态。当子菜单处于活动状态时,如何执行当前父菜单?类似于:

current: isActive('/solution/1,/solution/2,/solution/3,/solution/.....'). 

我的isActive方法如下:

$scope.isActive = function (viewLocation) {
    var active = (viewLocation === $location.path());
    return active;
};

根据我的评论,要使用正则表达式进行检查,请使用:

<li>
    <a href="#/solution" ng-class="{ current: isActive(/^/solution/) }" >
        <i class="halflings white home"></i> 
            {{menu.home}}
    </a> 
</li>

您正在将正则表达式传递给isActive函数,该函数将匹配以"/solution"开头的任何字符串

现在,您的isActive函数必须根据regexp:测试url

$scope.isActive = function (viewLocation) {
  return viewLocation.test($location.path());
};

有关如何工作的详细信息,请查看JS的regexp和regex#test

上的文档

最新更新