32 lines
2.3 KiB
Markdown
32 lines
2.3 KiB
Markdown
---
|
||
title: Dynamic Urls Using Routeparams in Angular
|
||
localeTitle: Динамические адреса, использующие Routeparams в угловом
|
||
---
|
||
Что делать , если у вас есть много пользователей , отправляющих _вещи_ на ваш сайт? Возможно, ваши пользователи хотят иметь профиль или стену того, _что_ они разместили, и они хотят поделиться им со своими друзьями с помощью URL-адреса? Вы можете это сделать, не biggie!
|
||
|
||
Допустим, вы использовали
|
||
```
|
||
>> yo angular-fullstack:route wall
|
||
```
|
||
|
||
для создания маршрута http://myapp.wherever.com/wall/ для ваших пользователей. Вы хотите получить ссылку на http://myapp.wherever.com/wall/someUsername, чтобы показать конкретные _вещи_ пользователя.
|
||
Перейдите в **/client/app/wall/wall.js** и обратите внимание, что он определяет, какой URL-адрес запрашивает пользователь, прежде чем действовать на него:
|
||
```
|
||
$routeProvider.when('/wall', …
|
||
```
|
||
|
||
Вы можете настроить этот путь, чтобы поймать, когда пользователь пытается увидеть профиль, связанный с определенным именем пользователя, например:
|
||
```
|
||
$routeProvider.when('/wall/:username', …
|
||
```
|
||
|
||
Двоеточие до «username» указывает, что это переменная, которая затем передается модулю _$ routeParams_ . В **wall.controller.js** включить _$ routeParams_ :
|
||
```
|
||
.controller('WallCtrl', function ($scope, $routeParams) { …
|
||
```
|
||
|
||
Затем в **wall.controller.js** вы можете увидеть, какое имя пользователя было запрошено в URL-адресе, обратившись к переменной, сгенерированной _$ routeProvider,_ используя что-то вроде
|
||
```
|
||
var wallOwner = $routeParams.username;
|
||
|
||
``` |