> For the complete documentation index, see [llms.txt](https://fancyloves.gitbook.io/frontendtech/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://fancyloves.gitbook.io/frontendtech/angularjs/bindings.md).

# Bindings

## Binding types - by the direction of data flow

Binding types can be grouped into three categories distinguished **by the direction of data flow**:

* *source-to-view ( \[ ], bind- )*
* *view-to-source ( (), on- )*
* *view-to-source-to-view ( \[()], bindon-* )

The target name is the name of a property. It may look like the name of an attribute but it never is.![](https://1446434960-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-Lj5eW9OkNxblWR8nxhy%2F-Lj5eYEmjXUslgNsWm3V%2F-Lj5eaZ4DuZUgw1cWPdr%2F%E8%9E%A2%E5%B9%95%E5%BF%AB%E7%85%A7%202018-06-02%20%E4%B8%8B%E5%8D%883.46.20.png?generation=1562406186440021\&alt=media)

## Binding Types - Target

![](https://1446434960-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-Lj5eW9OkNxblWR8nxhy%2F-Lj5eYEmjXUslgNsWm3V%2F-Lj5eaZ6JkQ1w8JmRYl4%2F%E8%9E%A2%E5%B9%95%E5%BF%AB%E7%85%A7%202018-06-11%20%E4%B8%8B%E5%8D%889.58.59.png?generation=1562406186154683\&alt=media)![](https://1446434960-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-Lj5eW9OkNxblWR8nxhy%2F-Lj5eYEmjXUslgNsWm3V%2F-Lj5eaZ85oeq-7Em4JeZ%2F%E8%9E%A2%E5%B9%95%E5%BF%AB%E7%85%A7%202018-06-11%20%E4%B8%8B%E5%8D%8810.19.09.png?generation=1562406186193724\&alt=media)

## HTML attributes & DOM properties

Attributes are defined by HTML. Properties are defined by the DOM (Document Object Model).

* A few HTML attributes have 1:1 mapping to properties. `id` is one example.
* Some HTML attributes don't have corresponding properties. `colspan` is one example.
* Some DOM properties don't have corresponding attributes. `textContent` is one example.
* Many HTML attributes appear to map to properties

> `HTML Attributes` initialize `DOM properties` and then they are done. `DOM Property` values can change; `HTML attribute` values can't.
