使用AngularJS突出显示当前菜单

时间:2019-03-06 15:06:13

标签: jquery angularjs bootstrap-4

我正在使用以下代码:

<li class="sidebar-list-item"><a ng-class="getClass('/dashboardHome')" href="/dashboardHome" class="sidebar-link text-muted"><i class="o-home-1 mr-3 text-gray"></i><span>Home</span></a></li>


$scope.getClass = function (path) {
        console.log("Path: "+path);
        return ($location.path().substr(0, path.length) === path) ? 'active' : '';
      }

在控制台上,我得到:路径:/ dashboardHome

但它不起作用。

1 个答案:

答案 0 :(得分:1)

如果使用ui-sref,请这样做。

ui-sref-active="active" ui-sref="home.dashboard.dashboardHome"

您不需要使用ng-class和getClass函数。

更新

ui-sref-active-eq:

  

ui-sref-active-eq指令在以下情况下应用CSS类:   ui-sref / ui-state的目标状态直接处于活动状态(不是在子状态时   状态有效)。这是“完全匹配”,它使用   StateService.is。 -ui-router.github.io

如果您不想在子路由处于活动状态时激活parent路由,请对父路由使用ui-sref-active-eq="active"