Подсветка углового маршрутизатора для родительской страницы

0

У меня есть 2 состояния с ui-router, объявленными так:

.state('news', {
  url: '/news',
  views: {
    '': {
      templateUrl: '/partials/common/news/list.html',
      controller: 'NewsIndexController as news'
    }
  }
})

.state('newsShow', {
  url: '/news/:slug',
  views: {
    '': {
      templateUrl: '/partials/common/news/show.html',
      controller: 'NewsShowController as newsShow'
    }
  }
})

В моей навигационной панели есть только одна ссылка для news:

<nav>
  <ul>
    <li>
      <a href="/news" ui-sref-active="active">News</a>
    </li>
  </ul>
</nav>

Когда я на отдельной странице новостей, как я могу получить ссылку новостей на форуме, чтобы иметь активное состояние?

  • 0
    Вы должны установить состояние 'newsShow' как дочернее по отношению к 'news', назвав ваш штат 'news.show'. ui-sref-active применяется к любым детям штата
  • 0
    @Jordane Это, кажется, ломает приложение, и представления newsShow больше не загружаются.

1 ответ

0

Вы можете использовать ng-class:

ng-class="{selected: $state.includes(state)}"

Подробнее о $state.includes здесь: http://angular-ui.github.io/ui-router/site/#/api/ui.router.state.$state

Надеюсь, это поможет.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню