@ngdoc overview @name Templates @sortOrder 260 @description # Templates In AngularJS, templates are written with HTML that contains AngularJS-specific elements and attributes. AngularJS combines the template with information from the model and controller to render the dynamic view that a user sees in the browser. These are the types of AngularJS elements and attributes you can use: * {@link guide/directive Directive} — An attribute or element that augments an existing DOM element or represents a reusable DOM component. * {@link ng.$interpolate Markup} — The double curly brace notation `{{ }}` to bind expressions to elements is built-in AngularJS markup. * {@link guide/filter Filter} — Formats data for display. * {@link forms Form controls} — Validates user input. The following code snippet shows a template with {@link guide/directive directives} and curly-brace {@link expression expression} bindings: ```html
``` In a simple app, the template consists of HTML, CSS, and AngularJS directives contained in just one HTML file (usually `index.html`). In a more complex app, you can display multiple views within one main page using "partials" – segments of template located in separate HTML files. You can use the {@link ngRoute.directive:ngView ngView} directive to load partials based on configuration passed to the {@link ngRoute.$route $route} service. The {@link tutorial/ AngularJS tutorial} shows this technique in steps seven and eight. ## Related Topics * {@link guide/filter Filters} * {@link forms Forms} ## Related API * {@link ./api API Reference}