> For the complete documentation index, see [llms.txt](https://m335.ict-bz.ch/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://m335.ict-bz.ch/tag-1/tour-of-heroes/introduction.md).

# Introduction

This *Tour of Heroes* tutorial provides an introduction to the fundamentals of Angular and shows you how to:

* Set up your local Angular development environment.
* Use the Angular CLI to develop an application.

The *Tour of Heroes* application that you build helps a staffing agency manage its stable of heroes. The application has many of the features that you'd expect to find in any data-driven application.

The finished application:

* Gets a list of heroes
* Displays the heroes in a list
* Edits a selected hero's details
* Navigates between different views of heroic data

This tutorial helps you gain confidence that Angular can do whatever you need it to do by showing you how to:

* Use Angular directives to show and hide elements and display lists of hero data.
* Create Angular components to display hero details and show an array of heroes.
* Use one-way data binding for read-only data.
* Add editable fields to update a model with two-way data binding.
* Bind component methods to user events, like keystrokes and clicks.
* Enable users to select a hero from a list and edit that hero in the details view.
* Format data with pipes.
* Create a shared service to assemble the heroes.
* Use routing to navigate among different views and their components.

{% hint style="info" %}
After you complete all tutorial steps, the final application looks like this example.

[live example](https://v17.angular.io/generated/live-examples/toh-pt6/stackblitz.html) / [download example](https://v17.angular.io/generated/zips/toh-pt6/toh-pt6.zip).
{% endhint %}

### Design your new application <a href="#design-your-new-application" id="design-your-new-application"></a>

Here's an image of where this tutorial leads, showing the Dashboard view and the most heroic heroes:<br>

<figure><img src="/files/Qblho9SnF1K8cdoybS3R" alt=""><figcaption></figcaption></figure>

You can click the **Dashboard** and **Heroes** links in the dashboard to navigate between the views.

If you click the dashboard hero "Magneta," the router opens a "Hero Details" view where you can change the hero's name.\ <br>

<figure><img src="/files/5qVOBsSTgrF9yauFqXp7" alt=""><figcaption></figcaption></figure>

Clicking the "Back" button returns you to the Dashboard. Links at the top take you to either of the main views. If you click "Heroes," the application displays the "Heroes" list view.<br>

<figure><img src="/files/GQh1XfTY05BrnMn1rHl9" alt=""><figcaption></figcaption></figure>

When you click a different hero name, the read-only mini detail beneath the list reflects the new choice.

You can click the "View Details" button to drill into the editable details of the selected hero.

The following diagram illustrates the navigation options.<br>

<figure><img src="/files/huXIjD3KBTMMCyudo3EC" alt=""><figcaption></figcaption></figure>

Here's the application in action:

<figure><img src="/files/e7H2OVgx59mXFMNu5IFQ" alt=""><figcaption></figcaption></figure>


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://m335.ict-bz.ch/tag-1/tour-of-heroes/introduction.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
