block includes include ../_util-fns - var _JavaScript = 'JavaScript'; //- Double underscore means don't escape var, use !{__var}. - var __chaining_op = '; or ,'; - var __new_op = 'new'; - var __objectAsMap = 'object'; :marked Our Angular application manages what the user sees and can do, achieving this through the interaction of a Component class instance (the *component*) and its user-facing template. Many of us are familiar with the component/template duality from our experience with model-view-controller (MVC) or model-view-viewmodel (MVVM). In Angular, the component plays the part of the controller/viewmodel, and the template represents the view. Let’s find out what it takes to write a template for our view. We’ll cover these basic elements of template syntax: * [HTML](#html) * [Interpolation](#interpolation) * [Template expressions](#template-expressions) * [Template statements](#template-statements) * [Binding syntax](#binding-syntax) * [Property binding](#property-binding) * [Attribute, class, and style bindings](#other-bindings) * [Event binding](#event-binding) * [Two-way data binding with `NgModel`](#ngModel) * [Built-in directives](#directives) * [NgClass](#ngClass) * [NgStyle](#ngStyle) * [NgIf](#ngIf) * [NgSwitch](#ngSwitch) * [NgFor](#ngFor) * [* and <template>](#star-template) * [Template reference variables](#ref-vars) * [Input and output properties](#inputs-outputs) * [Template expression operators](#expression-operators) * [pipe](#pipe) * [safe navigation operator (?.)](#safe-navigation-operator) p. The #[+liveExampleLink2()] demonstrates all of the syntax and code snippets described in this chapter. .l-main-section :marked ## HTML HTML is the language of the Angular template. Our [QuickStart](../quickstart.html) application had a template that was pure HTML: code-example(language="html" escape="html").

My First Angular 2 App

:marked Almost all HTML syntax is valid template syntax. The `