A host element is the HTML element a binding acts on. A binding can change its appearance, content, or behavior. Any HTML element in a template can host a binding, and one element can have multiple bindings that manage different aspects. section 11.2 section 11.2.4
Changing a host’s appearance
In `<div [ngClass]="classes()">Hello, World.</div>`, the div is the host. Angular evaluates `classes()` and passes its result to the `ngClass` directive, which changes the div’s CSS classes. section 11.2
For an event binding, the host plays the opposite role: it sends an event into the application. In a product table, `(mouseover)="selectedProduct.set(item.name)"` makes a `td` the event source. A separate binding can then highlight the selected row. section 13.2
Directives and components also use host elements. An attribute directive can read configuration from its host’s attributes and add CSS classes to that element. A component selector identifies its host; Angular then populates the matching element with the component’s template. section 14.3.1 section 16.2.1

