Выделите текущее меню с помощью AngularJS - PullRequest
0 голосов
/ 06 марта 2019

Я использую следующий код:

<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 Ответ

1 голос
/ 07 марта 2019

Сделайте так, если вы используете ui-sref.

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

Вам не нужно использовать ng-class и функцию getClass.

Обновление

щ-sref-активные-экв:

Директива ui-sref-active-eq применяет класс CSS, когда Целевое состояние ui-sref / ui-state активно (не когда ребенок состояния активны). Это "точное совпадение", которое использует StateService.is. - ui-router.github.io

Если вы не хотите активировать маршрут parent, когда активен дочерний маршрут, используйте ui-sref-active-eq="active" для родительского маршрута.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...