The rationale of this change is to improve the inter-operability with web components that might make use of the `<template>` tag. DEPRECATION The template tags and template attribute are deprecated: <template ngFor [ngFor]=items let-item><li>...</li></template> <li template="ngFor: let item of items">...</li> should be rewritten as: <ng-template ngFor [ngFor]=items let-item><li>...</li></ng-template> Note that they still be supported in 4.x with a deprecartion warning in development mode. MIGRATION - `template` tags (or elements with a `template` attribute) should be rewritten as a `ng-template` tag, - `ng-content` selectors should be updated to referto a `ng-template` where they use to refer to a template: `<ng-content selector="template[attr]">` should be rewritten as `<ng-content selector="ng-template[attr]">` - if you consume a component relying on your templates being actual `template` elements (that is they include a `<ng-content selector="template[attr]">`). You should still migrate to `ng-template` and make use of `ngProjectAs` to override the way `ng-content` sees the template: `<ng-template projectAs="template[attr]">` - while `template` elements are deprecated in 4.x they continue to work.
35 lines
1.3 KiB
Markdown
35 lines
1.3 KiB
Markdown
@cheatsheetSection
|
|
Built-in directives
|
|
@cheatsheetIndex 3
|
|
@description
|
|
{@target ts}`import { CommonModule } from '@angular/common';`{@endtarget}
|
|
{@target js}Available using the `ng.common.CommonModule` module{@endtarget}
|
|
|
|
@cheatsheetItem
|
|
syntax:
|
|
`<section *ngIf="showSection">`|`*ngIf`
|
|
description:
|
|
Removes or recreates a portion of the DOM tree based on the `showSection` expression.
|
|
|
|
@cheatsheetItem
|
|
syntax:
|
|
`<li *ngFor="let item of list">`|`*ngFor`
|
|
description:
|
|
Turns the li element and its contents into a template, and uses that to instantiate a view for each item in list.
|
|
|
|
@cheatsheetItem
|
|
syntax:
|
|
`<div [ngSwitch]="conditionExpression">
|
|
<ng-template [ngSwitchCase]="case1Exp">...</ng-template>
|
|
<ng-template ngSwitchCase="case2LiteralString">...</ng-template>
|
|
<ng-template ngSwitchDefault>...</ng-template>
|
|
</div>`|`[ngSwitch]`|`[ngSwitchCase]`|`ngSwitchCase`|`ngSwitchDefault`
|
|
description:
|
|
Conditionally swaps the contents of the div by selecting one of the embedded templates based on the current value of `conditionExpression`.
|
|
|
|
@cheatsheetItem
|
|
syntax:
|
|
`<div [ngClass]="{active: isActive, disabled: isDisabled}">`|`[ngClass]`
|
|
description:
|
|
Binds the presence of CSS classes on the element to the truthiness of the associated map values. The right-hand expression should return {class-name: true/false} map.
|