Template syntax

In Angular, a template is a chunk of HTML. Use special syntax within a template to build on many of Angular's features.


Before learning template syntax, you should be familiar with the following:

Each Angular template in your application is a section of HTML to include as a part of the page that the browser displays. An Angular HTML template renders a view, or user interface, in the browser, just like regular HTML, but with a lot more functionality.

When you generate an Angular application with the Angular CLI, the app.component.html file is the default template containing placeholder HTML.

The template syntax guides show you how to control the UX/UI by coordinating data between the class and the template.

Most of the Template Syntax guides have dedicated working example applications that demonstrate the individual topic of each guide. To see all of them working together in one application, see the comprehensive .

Empower your HTML

Extend the HTML vocabulary of your applications With special Angular syntax in your templates. For example, Angular helps you get and set DOM (Document Object Model) values dynamically with features such as built-in template functions, variables, event listening, and data binding.

Almost all HTML syntax is valid template syntax. However, because an Angular template is part of an overall webpage, and not the entire page, you don't need to include elements such as <html>, <body>, or <base>, and can focus exclusively on the part of the page you are developing.

To eliminate the risk of script injection attacks, Angular does not support the <script> element in templates. Angular ignores the <script> tag and outputs a warning to the browser console. For more information, see the Security page.

More on template syntax

You might also be interested in the following:

Topics Details
Interpolation Learn how to use interpolation and expressions in HTML.
Template statements Respond to events in your templates.
Binding syntax Use binding to coordinate values in your application.
Property binding Set properties of target elements or directive @Input() decorators.
Attribute, class, and style bindings Set the value of attributes, classes, and styles.
Event binding Listen for events and your HTML.
Two-way binding Share data between a class and its template.
Built-in directives Listen to and modify the behavior and layout of HTML.
Template reference variables Use special variables to reference a DOM element within a template.
Inputs and Outputs Share data between the parent context and child directives or components
Template expression operators Learn about the pipe operator (|), and protect against null or undefined values in your HTML.
SVG in templates Dynamically generate interactive graphics.
Last reviewed on Mon Feb 28 2022

© 2010–2022 Google, Inc.
Licensed under the Creative Commons Attribution License 4.0.