2013-04-28 3 views
3

Я пытаюсь выяснить AngularJS и маршрутизацию. Может кто-то взглянуть на это http://jsfiddle.net/spoon16/p9BBr/

Помогите мне понять, почему $routeParams.i не определено во время инициализации. Каким образом можно использовать $routeParams в моих контроллерах?

ответ

4

В основном $routeParams невозможен до тех пор, пока служба маршрута не изменит маршрут, а это означает, что вы должны только вводить службу в контроллеры, связанные с определенным маршрутом (свойство controller для маршрута).

Если вы в каком-то другом контроллере должны знать текущий маршрут и т. Д., Вы должны прослушивать the various events вещание службы маршрута, например.

$scope.$on('$routeChangeSuccess', function (ev, current, previous) { 
    // ... 
}); 

Updated fiddle.

+0

Немного трудно понять ваш первый абзац. В jsfiddle нет значения контроллера, связанного с маршрутом? –

+0

Обычно вы связываете определенный контроллер с определенным маршрутом, и в этом контроллере вы обычно хотите извлечь значения параметров и использовать их для чего-то (возможно, как часть некоторого вызова ajax). Я планировал обновить скрипку, но я мог бы получить скрипку, чтобы позволить мне изменить URL. – Martin

Смежные вопросы