86 lines
		
	
	
		
			3.3 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
		
		
			
		
	
	
			86 lines
		
	
	
		
			3.3 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
|  | block includes | |||
|  |   include ../_util-fns | |||
|  | 
 | |||
|  | :marked | |||
|  |   # Tour of Heroes: the vision | |||
|  | 
 | |||
|  |   Our grand plan is to build an app to help a staffing agency manage its stable of heroes. | |||
|  |   Even heroes need to find work. | |||
|  | 
 | |||
|  |   Of course we'll only make a little progress in this tutorial. What we do build will | |||
|  |   have many of the features we expect to find in a full-blown, data-driven application: acquiring and displaying | |||
|  |   a list of heroes, editing a selected hero's detail, and navigating among different | |||
|  |   views of heroic data. | |||
|  | 
 | |||
|  |   The Tour of Heroes covers the core fundamentals of Angular. | |||
|  |   We’ll use built-in directives to show/hide elements and display lists of hero data. | |||
|  |   We’ll create a component to display hero details and another to show an array of heroes. | |||
|  |   We'll use one-way data binding for read-only data. We'll add editable fields to update a model | |||
|  |   with two-way data binding. We'll bind component methods to user events like key strokes and clicks. | |||
|  |   We’ll learn to select a hero from a master list and edit that hero in the details view. We'll | |||
|  |   format data with pipes. We'll create a shared service to assemble our heroes. And we'll use routing to navigate among different views and their components. | |||
|  | 
 | |||
|  |   We’ll learn enough core Angular to get started and gain confidence that | |||
|  |   Angular can do whatever we need it to do. | |||
|  |   We'll be covering a lot of ground at an introductory level but we’ll find plenty of links | |||
|  |   to chapters with greater depth. | |||
|  | 
 | |||
|  |   Run the <live-example name="toh-6"></live-example>. | |||
|  | 
 | |||
|  | .l-main-section | |||
|  | :marked | |||
|  |   ## The End Game | |||
|  | 
 | |||
|  |   Here's a visual idea of where we're going in this tour, beginning with the "Dashboard" | |||
|  |   view and our most heroic heroes: | |||
|  | 
 | |||
|  | figure.image-display | |||
|  |   img(src='/resources/images/devguide/toh/heroes-dashboard-1.png' alt="Output of heroes dashboard") | |||
|  | 
 | |||
|  | :marked | |||
|  |   Above the dashboard are two links ("Dashboard" and "Heroes"). | |||
|  |   We could click them to navigate between this Dashboard and a Heroes view. | |||
|  | 
 | |||
|  |   Instead we click the dashboard hero named "Magneta" and the router takes us to a "Hero Details" view | |||
|  |   of that hero where we can change the hero's name. | |||
|  | 
 | |||
|  | figure.image-display | |||
|  |   img(src='/resources/images/devguide/toh/hero-details-1.png' alt="Details of hero in app") | |||
|  | 
 | |||
|  | :marked | |||
|  |   Clicking the "Back" button would return us to the "Dashboard". | |||
|  |   Links at the top can take us to either of the main views. | |||
|  |   We'll click "Heroes". The app takes to the "Heroes" master list view. | |||
|  | 
 | |||
|  | figure.image-display | |||
|  |   img(src='/resources/images/devguide/toh/heroes-list-2.png' alt="Output of heroes list app") | |||
|  | 
 | |||
|  | :marked | |||
|  |   We click a different hero and the readonly mini-detail beneath the list reflects our new choice. | |||
|  | 
 | |||
|  |   We click the "View Details" button to drill into the | |||
|  |   editable details of our selected hero. | |||
|  | 
 | |||
|  |   The following diagram captures all of our navigation options. | |||
|  | 
 | |||
|  | figure.image-display | |||
|  |   img(src='/resources/images/devguide/toh/nav-diagram.png' alt="View navigations") | |||
|  | 
 | |||
|  | :marked | |||
|  |   Here's our app in action | |||
|  | 
 | |||
|  | figure.image-display | |||
|  |   img(src='/resources/images/devguide/toh/toh-anim.gif' alt="Tour of Heroes in Action") | |||
|  | 
 | |||
|  | .l-main-section | |||
|  | :marked | |||
|  |   ## Up Next | |||
|  | 
 | |||
|  |   We’ll build this Tour of Heroes together, step by step. | |||
|  |   We'll motivate each step with a requirement that we've | |||
|  |   met in countless applications. Everything has a reason. | |||
|  | 
 | |||
|  |   And we’ll meet many of the core fundamentals of Angular along the way. | |||
|  | 
 | |||
|  |   [Let's get started!](./toh-pt1.html) |