angular - элемент для отображения того, какой шаблон загружен в представление

У меня есть простое приложение, использующее ngRoute: у него есть представление, которое загружает различные шаблоны в зависимости от URL (#/1 => первый шаблон; #/2 => второй шаблон). Я добавил элементы "а" для переключения между этими шаблонами.

Можно ли сделать так, чтобы элементы "а" отражали выбранный шаблон? (например, чтобы изменить их класс в зависимости от текущего URL).

<html ng-app="app">
    <a href='#/1'>one</a>
    <a href='#/2'>two</a>
    <div ng-view />
</html>

<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.3.11/angular.min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.3.11/angular-route.min.js"></script>
<script>
var app = angular.module('app', ['ngRoute']);
app.config(function($routeProvider) {
    $routeProvider.when('/1', {template: 'first template'});
    $routeProvider.when('/2', {template: 'second template'});
    $routeProvider.otherwise({redirectTo: '/1'});
});
</script>

1 ответ

Решение

Взгляните на ответ, представленный на /questions/22201762/kak-nastroit-zagruzochnyij-aktivnyij-klass-navbar-s-angular-js/22201767#22201767 который, по сути, в значительной степени является тем, что предлагает Вуко.

В моем приведенном выше вопросе о SO есть множество различных предлагаемых решений, и вы действительно можете выбрать то, что соответствует вашим потребностям и уровню сложности.

Другие вопросы по тегам