我通过以下方式创建了菜单和子菜单:
<li>
<a href="#/solution" ng-class="{ current: isActive('/solution') }" >
<i class="halflings white home"></i>
{{menu.home}}
</a>
</li>
当我在本地主机/解决方案上时,解决方案菜单处于活动状态。子菜单处于活动状态时如何执行当前的父菜单?就像是:
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测试网址:$scope.isActive = function (viewLocation) {
return viewLocation.test($location.path());
};
有关其工作方式的详细信息,请参见JS的regexp和regex#test上的结帐文档