следовать до ответа, представленного здесь: AngularJS - Changing a query param term within $routeProvider?
При использовании маршрута Params, можно установить «активный» класс к элементу или его родительский элемент? Вот что я пробовал, но «активный» класс не добавляется в родительский элемент.
Является ли проблема, с которой сталкиваюсь из-за того, что я использую заполнитель '/: feed_term'?
.config(function($routeProvider) {
$routeProvider
.when('/:feed_term', {templateUrl: 'views/feedlist.html', controller: 'searchtermCtrl', activetab: ':feed_term' })
.otherwise({redirectTo: '/term/'});
})
.controller('searchtermCtrl', function($scope, Feed, $routeParams, $route){
$scope.feed = Feed.query({ feed : $routeParams.feed_term });
$scope.activeTab = $route.current.activetab
})
И HTML выглядит следующим образом:
<li ng-class="{active: $route.current.activetab == 'feedterm_1'}">
<a href="#/feedterm_1">Feed 1</a>
</li>
<li ng-class="{active: $route.current.activetab == 'feedterm_2'}">
<a href="#/feedterm_2">Feed 2</a>
</li>
Любая обратная связь будет очень признателен!
Спасибо! Roc.
Привет Brandon, спасибо за совет. Хотя это помогло при добавлении классов, когда это необходимо в представлении, навигация помещается вне представления. Если вы можете взглянуть на эту [ссылку] (http://pastebin.com/5B6yxzjr), это было бы здорово. В принципе, навигация не помещается внутри представления, поэтому я пытаюсь настроить ее за пределы представления. Спасибо btw за проверку этого вопроса. – Roc
@Roc Вы можете следить за изменениями маршрута в области видимости, наблюдая за событием '$ routeChangeSuccess'. Вот пример: http://jsfiddle.net/BinaryMuse/gwHat/ –
Спасибо Брэндон! Это сделал трюк. Очень благодарен за помощь и прохождение игры. – Roc