Angular2 official doc points out the new mental model of using Angular template binding: Angular deals with DOM properties or events instead of HTML static attributes.
Target of the data binding shall be the property or event of html element, component or directive.
Source of the data binding uses:
- Template expression which produces a value binding to the property of a binding target
- Template statement which responds to an event raised by a binding target. Both of the expression and statement are restricted to the property of its expression context which are the current component instance or template reference variable.
Direction of the data flow is usually unidirectional either from a component to an element or from an element to a component. The exception is ngModel directive which has two-way data binding.