84 lines
		
	
	
		
			3.3 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			84 lines
		
	
	
		
			3.3 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| block includes
 | ||
|   include ../_util-fns
 | ||
| 
 | ||
| :marked
 | ||
|   Our grand plan for this tutorial 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)
 |