2016-05-06 2 views
3

Мне было интересно, есть ли способ динамически перенаправить пользователя на определенную страницу на основе определенного параметра? Например, у меня может быть URL, которые выглядят примерно так:Динамическая маршрутизация URL-адреса в angularjs

http://localhost:8080/admin/{{id}}/home-page.html

Вот примеры того, как я бы хотел, чтобы это выглядело как:

http://localhost:8080/admin/13/home-page.html

http://localhost:8080/admin/9/home-page.html

И, основываясь на каждом URL-адресе, я буду перемещать пользователя в файл home-page.html, но данные, отображаемые на home-page.html, будут отличаться в зависимости от того, какой идентификатор я передаю. Я попытался посмотреть https://stackoverflow.com/a/30874018/1871869 в качестве руководства, но я не могу понять, где поставить код $routeParamswhen, потому что, если я не создам другой контроллер/страницу до home-page.html, только тогда я могу выполнить перенаправление. Есть ли способ сделать это? Благодаря!

ответ

2

Если вы используете $routeProvider вы можете использовать:

параметров

Так что для вашего URL о вы могли бы сделать

.when('/admin/:ID/home-page.html') 

в вашем $routeProvider. Тогда ctrlAs.ID будет значением вашего маршрута.

Если добавить знак вопроса в конце, то этот параметр маршрут становится необязательным, т.е .:

.when('/admin/:ID?') 

будет работать с localhost:8080/admin или localhost:8080/admin/15

1

This может помочь вам. Пожалуйста, изучите это.

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