2020-10-15 17:06:04 -04:00
# Example applications
The following is a list of the example applications in the [Angular documentation ](docs ).
## Fundamentals
These examples demonstrate minimal, fundamental concepts.
### Getting started application
<live-example name="getting-started"></live-example>
Introductory application demonstrating Angular features.
For more information, see [Getting started ](start ).
### Launching your app
<live-example name="bootstrapping"></live-example>
Demonstrates the Angular bootstrapping process.
For more information, see [Launching your app with a root module ](guide/bootstrapping ).
### Structure of Angular applications
<live-example name="architecture"></live-example>
Demonstrates the fundamental architecture of Angular applications.
For more information, see [Introduction to Angular concepts ](guide/architecture ).
### Setting the document title
<live-example name="set-document-title"></live-example>
Demonstrates customizing the document title in the browser.
For more information, see [Set the document title ](guide/set-document-title ).
## Tour of Heroes tutorial application
The Tour of Heroes is a comprehensive tutorial that guides you through the process of building an application with many of Angular's most popular features.
### Tour of Heroes: completed application
<live-example name="toh-pt6"></live-example>
Completed Tour of Heroes example application.
For more information, see [Tour of Heroes app and tutorial ](tutorial ).
### Tour of Heroes: Creating an application
<live-example name="toh-pt0"></live-example>
Initial Tour of Heroes example application for beginning the tutorial.
For more information, see [Create a new project ](tutorial/toh-pt0 ).
### Tour of Heroes: The hero editor
<live-example name="toh-pt1"></live-example>
First step of the Tour of Heroes example application.
For more information, see [The hero editor ](tutorial/toh-pt1 ).
### Tour of Heroes: Display a selection list
<live-example name="toh-pt2"></live-example>
Second step of the Tour of Heroes example application.
For more information, see [Display a selection list ](tutorial/toh-pt2 ).
### Tour of Heroes: Create a feature component
<live-example name="toh-pt3"></live-example>
Third step of the Tour of Heroes example application.
For more information, see [Create a feature component ](tutorial/toh-pt3 ).
### Tour of Heroes: Add services
<live-example name="toh-pt4"></live-example>
Fourth step of the Tour of Heroes example application.
For more information, see [Add services ](tutorial/toh-pt4 ).
### Tour of Heroes: Add in-app navigation with routing
<live-example name="toh-pt5"></live-example>
Fifth step of the Tour of Heroes example application.
For more information, see [Add in-app navigation with routing ](tutorial/toh-pt5 ).
### Tour of Heroes: Get data from a server
<live-example name="toh-pt6"></live-example>
Sixth and final step of the Tour of Heroes example application.
For more information, see [Get data from a server ](tutorial/toh-pt6 ).
## Working with templates
These examples demonstrate features of Angular templates.
### Accessibility
<live-example name="accessibility"></live-example>
Demonstrates building Angular applications in a more accessible way.
For more information, see [Accessibility ](guide/accessibility ).
### Animations
<live-example name="animations"></live-example>
Demonstrates Angular's animation features.
For more information, see [Introduction to Angular animations ](guide/animations ).
### Attribute, class, and style bindings
<live-example name="attribute-binding"></live-example>
Demonstrates Angular attribute, class, and style bindings.
For more information, see [Attribute, class, and style bindings ](guide/attribute-binding ).
### Attribute directives
<live-example name="attribute-directives"></live-example>
Demonstrates Angular attribute directives.
For more information, see [Attribute directives ](guide/attribute-directives ).
### Binding syntax
<live-example name="binding-syntax"></live-example>
Demonstrates Angular's binding syntax.
For more information, see [Binding syntax: an overview ](guide/binding-syntax ).
### Built-in directives
<live-example name="built-in-directives"></live-example>
Demonstrates Angular built-in directives.
For more information, see [Built-in directives ](guide/built-in-directives ).
### Built-in template functions
<live-example name="built-in-template-functions"></live-example>
Demonstrates Angular built-in template functions.
For more information, see the [`$any()` type cast function section ](guide/template-expression-operators#the-any-type-cast-function ) of [Template expression operators ](guide/template-expression-operators ).
2021-03-10 00:25:18 +00:00
### Content projection
<live-example name="content-projection"></live-example>
Demonstrates how to use Angular's content projection feature when creating reusable components.
2020-10-15 17:06:04 -04:00
### Interpolation
<live-example name="interpolation"></live-example>
Demonstrates Angular interpolation.
For more information, see [Interpolation and template expressions ](guide/interpolation ).
### Template expression operators
<live-example name="template-expression-operators"></live-example>
Demonstrates expression operators in Angular templates.
For more information, see [Template expression operators ](guide/template-expression-operators ).
### Template reference variables
<live-example name="template-reference-variables"></live-example>
Demonstrates Angular's template reference variables.
For more information, see [Template reference variables ](guide/template-reference-variables ).
### `<ngcontainer>`
<live-example name="ngcontainer"></live-example>
Demonstrates `<ngcontainer>` .
2020-12-02 12:48:25 -05:00
For more information, see the [ng-container section ](guide/built-in-directives#ngcontainer ) of [Built-in directives ](guide/structural-directives ) .
2020-10-15 17:06:04 -04:00
### Pipes
<live-example name="pipes"></live-example>
Demonstrates Angular pipes.
For more information, see [Transforming Data Using Pipes ](guide/pipes ).
### Property binding
<live-example name="property-binding"></live-example>
Demonstrates property binding in Angular.
For more information, see [Property binding ](guide/property-binding ).
### Structural directives
<live-example name="structural-directives"></live-example>
Demonstrates Angular structural directives.
For more information, see [Structural directives ](guide/structural-directives ).
### Two-way binding
<live-example name="two-way-binding"></live-example>
Demonstrates two-way data binding in Angular applications.
For more information, see [Two-way binding ](guide/two-way-binding ).
### Template syntax
<live-example name="template-syntax"></live-example>
Comprehensive demonstration of Angular's template syntax.
For more information, see [Template reference variables ](guide/template-syntax ).
### User input
<live-example name="user-input"></live-example>
Demonstrates responding to user actions.
For more information, see [User input ](guide/user-input ).
## Working with components
These examples demonstrate features of Angular components.
### Component interaction
<live-example name="component-interaction"></live-example>
Demonstrates how Angular shares data between components.
For more information, see [Component interaction ](guide/component-interaction ).
### Component styles
<live-example name="component-styles"></live-example>
2021-05-19 21:20:23 +00:00
Demonstrates styling in Angular applications.
2020-10-15 17:06:04 -04:00
For more information, see [Component styles ](guide/component-styles ).
### Dynamic component loader
<live-example name="dynamic-component-loader"></live-example>
Demonstrates how to dynamically load components.
For more information, see [Dynamic component loader ](guide/dynamic-component-loader ).
### Elements
<live-example name="elements"></live-example>
Demonstrates using Angular custom elements.
For more information, see [Angular elements overview ](guide/elements ).
### Event binding
<live-example name="event-binding"></live-example>
Demonstrates binding to events in Angular.
For more information, see [Event binding ](guide/event-binding ).
### `@Input()` and `@Output()`
<live-example name="inputs-outputs"></live-example>
Demonstrates `@Input()` and `@Output()` in components and directives.
For more information, see [`@Input()` and `@Output()` properties ](guide/inputs-outputs ).
### Lifecycle hooks
<live-example name="lifecycle-hooks"></live-example>
Demonstrates Angular lifecycle hooks such as `ngOnInit()` and `ngOnChanges()` .
For more information, see [Hooking into the component lifecycle ](guide/lifecycle-hooks ).
## Dependency injection
### Dependency injection fundamentals
<live-example name="dependency-injection"></live-example>
Demonstrates fundamentals of Angular dependency injection.
For more information, see [Dependency injection ](guide/dependency-injection ).
### Dependency injection features
<live-example name="dependency-injection-in-action"></live-example>
Demonstrates many of the features of Angular dependency injection.
For more information, see [Dependency injection in action ](guide/dependency-injection ).
### Providing dependencies in NgModules
<live-example name="providers"></live-example>
Demonstrates providing services in NgModules.
For more information, see [Providing dependencies in modules ](guide/providers ).
### Hierarchical dependency injection
<live-example name="hierarchical-dependency-injection"></live-example>
Demonstrates Angular injector trees and resolution modifiers.
For more information, see [Hierarchical injectors ](guide/hierarchical-dependency-injection ).
### Dependency injection with `providers` and `viewProviders`
<live-example name="providers-viewproviders"></live-example>
Demonstrates how `providers` and `viewproviders` affect dependency injection.
For more information, see the [Providing services in `@Component()` ](guide/hierarchical-dependency-injection#providing-services-in-component ) section of [Hierarchical injectors ](guide/hierarchical-dependency-injection ).
### Resolution modifiers and dependency injection
<live-example name="resolution-modifiers"></live-example>
Demonstrates Angular's resolution modifiers, such as `@Self()` .
For more information, see the [Modifying service visibility ](guide/hierarchical-dependency-injection#modifying-service-visibility ) section of [Hierarchical injectors ](guide/hierarchical-dependency-injection ).
## Forms
### Forms overview
<live-example name="forms-overview"></live-example>
Demonstrates foundational concepts of Angular forms.
For more information, see [Introduction to forms in Angular ](guide/forms-overview ).
### Reactive forms
<live-example name="reactive-forms"></live-example>
Demonstrates Angular's reactive forms.
For more information, see [Reactive forms ](guide/reactive-forms ).
### Template-driven forms
<live-example name="forms"></live-example>
Demonstrates Angular template-driven forms.
For more information, see [Building a template-driven form ](guide/forms ).
### Form validation
<live-example name="form-validation"></live-example>
Demonstrates validating forms in Angular.
For more information, see [Validating form input ](guide/form-validation ).
### Dynamic forms
<live-example name="dynamic-form"></live-example>
Demonstrates creating dynamic forms.
For more information, see [Building dynamic forms ](guide/dynamic-form ).
## NgModules
### NgModules
<live-example name="ngmodules"></live-example>
Demonstrates fundamentals of NgModules.
For more information, see [NgModules ](guide/ngmodules ).
### Feature modules
<live-example name="feature-modules"></live-example>
Demonstrates using feature modules in Angular.
For more information, see [Feature modules ](guide/feature-modules ).
### Lazy loading NgModules
<live-example name="lazy-loading-ngmodules"></live-example>
Demonstrates lazy loading NgModules.
For more information, see [Lazy-loading feature modules ](guide/lazy-loading-ngmodules ).
## Routing
### Router
<live-example name="router"></live-example>
Demonstrates Angular's routing features.
For more information, see [Router ](guide/router ).
### Router tutorial
<live-example name="router-tutorial"></live-example>
Demonstrates Angular's fundamental routing techniques.
For more information, see [Using Angular routes in a single-page application ](guide/router-tutorial ).
### Style guide for Documentation contributions
<live-example name="docs-style-guide"></live-example>
Demonstrates Angular documentation style guidelines.
For more information, see [Angular documentation style guide ](guide/docs-style-guide ).
## Server communication
### `HttpClient`
<live-example name="http"></live-example>
Demonstrates server interaction using HTTP.
For more information, see [Communicating with backend services using HTTP ](guide/http ).
## Workflow
### Security
<live-example name="security"></live-example>
Demonstrates security concepts in Angular applications.
For more information, see [Security ](guide/security ).
### Testing
2021-05-19 21:20:23 +00:00
For the sample application that the testing guides describe, see the <live-example noDownload name="testing">sample app</live-example>.
2020-10-15 17:06:04 -04:00
For the tests featured in the testing guides, see <live-example name="testing" stackblitz="specs" noDownload>tests</live-example>.
Demonstrates techniques for testing Angular.
For more information, see [Testing ](guide/testing ).
## Hybrid Angular applications
### AngularJS to Angular concepts: Quick reference
<live-example name="ajs-quick-reference"></live-example>
Demonstrates Angular for those with an AngularJS background.
For more information, see [AngularJS to Angular concepts: Quick reference ](guide/ajs-quick-reference ).