25 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
		
		
			
		
	
	
			25 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
|   | --- | ||
|  | title: Dynamic Urls Using Routeparams in Angular | ||
|  | --- | ||
|  | What if you have a lot of users posting _things_ to your website? Maybe your users want to have a profile, or a wall, of the _things_ they've posted, and they want to be able to share it with their friends with a url? You can do that, no biggie! | ||
|  | 
 | ||
|  | Let's say you used | ||
|  | 
 | ||
|  |     >> yo angular-fullstack:route wall | ||
|  | 
 | ||
|  | to generate a <a>http://myapp.wherever.com/wall/</a> route for your users. You want a link to <a>http://myapp.wherever.com/wall/someUsername</a> to show a specific user's _things_.   | ||
|  | Browse to **/client/app/wall/wall.js** and notice that it detects what URL the user is requesting before acting on it: | ||
|  | 
 | ||
|  |     $routeProvider.when('/wall', … | ||
|  | 
 | ||
|  | You can customize that path to catch when a user is trying to see a profile associated with a specific username like so: | ||
|  | 
 | ||
|  |     $routeProvider.when('/wall/:username', … | ||
|  | 
 | ||
|  | The colon before "username" indicates that this is a variable, which is then passed to the _$routeParams_ module. In **wall.controller.js**, include _$routeParams_: | ||
|  | 
 | ||
|  |     .controller('WallCtrl', function ($scope, $routeParams) { … | ||
|  | 
 | ||
|  | Then later on in **wall.controller.js**, you can see what username was requested in the URL by referring to the variable generated by _$routeProvider_ using something like | ||
|  | 
 | ||
|  |     var wallOwner = $routeParams.username; |