Я пишу очень простое угловое приложение для показа информации о футбольных турнирах. Для каждого турнира в базе данных Я хочу, чтобы показать вид либо спичек или статистиков, поэтому я реализую эту простую схему URL:Как получить доступ к параметрам маршрута за пределами вида
foo/matches
: матчи турнира Foo,foo/stats
: пользователь турнир Foo.
Файл index.html
структурирована следующим образом:
<nav ng-controller="NavController">
<ul>
<li> <a href="#/{{ t }}/matches"> Matches </a>
<li> <a href="#/{{ t }}/status"> Stats </a>
</ul>
</nav>
<div ng-view></div>
и маршруты настроены так:
app.config(['$routeProvider', function ($routeProvider) {
$routeProvider
.when('/:t/matches', {templateUrl: 'partials/matches.html', controller: 'MatchesController'})
.when('/:t/stats', {templateUrl: 'partials/stats.html', controller: 'StatsController' })
}]);
Моя проблема те {{ t }}
ссылки в HTML. Я хочу, чтобы ссылки меняли представление на статистику или список совпадений для текущего турнира. Но поскольку ссылки находятся за пределами представления, поэтому они не имеют доступа к параметрам маршрута (я попытался ввести $routeParams
, и все, что я получаю, это пустой объект).
Таким образом, я не смог создать ссылки для изменения внешнего вида. Навигационная панель не знает, что представляет собой текущий турнир.
Как я могу (и как лучше всего) получить доступ к текущему состоянию представления (в данном случае, к текущему турниру) за его пределами?
Как вы устанавливаете значение 't'. Пожалуйста, покажите этот код. – Chandermani
'$ scope.t = something' в NavController. «Что-то» - это то, о чем я хочу узнать. Твердое кодирование значения отлично работает. –