All details can be found here: https://angular.io/docs/ts/latest/guide/template-syntax.html
-
directiveName– is the short hand form for structural directives where the long form can only be applied to<template>tags. The short form implicitely wraps the element where it’s applied in a<template>. -
[prop]="value"is for object binding to properties (@Input()of an Angular component or directive or a property of a DOM element).
There are special forms:[class.className]binds to a css class to enable/disable it[style.stylePropertyName]binds to a style property[style.stylePropertyName.px]binds to a style property with a preset unit[attr.attrName]binds a value to an attribute (visible in the DOM, while properties are not visible)[role.roleName]binds to the ARIA role attribute (not yet available)
-
prop="{{value}}"binds a value to a property. The value is stringified (aka interpolation) -
(event)="expr"binds an event handler to an@Output()or DOM event -
#varor#varhas different functions depending on the contextIn an*ngFor="#x in y;#i=index"scope variables for the iteration are created
(In beta.17 this is changed to *ngFor=”let x in y; let i=index”`)- On a DOM element
<div #mydiv>a reference to the element - On an Angular component a reference to the component
- On an element that is an Angular component or has an Angular directive where
exportAs:"ngForm"is defined,#myVar="ngForm"creates a reference to this component or directive.