Cheat Sheet 6.0
-
Bootstrapping
-
import 'package:angular/angular.dart';
-
import 'package:angular_app/app_component.template.dart' as ng;
void main() {
runApp(ng.AppComponentNgFactory);
} -
Launch the app, using
AppComponent
as the root component.
-
import 'package:angular_router/angular_router.dart';
import 'package:angular_tour_of_heroes/app_component.template.dart' as ng;
import 'main.template.dart' as self;
@GenerateInjector(
routerProviders,
)
final InjectorFactory injector = self.injector$Injector;
void main() {
runApp(ng.AppComponentNgFactory, createInjector: injector);
} -
Launch the app, using a compile-time generated root injector.
Template syntax | |
---|---|
<input [value]="firstName">
|
Binds property See: Template Syntax |
<div [attr.role]="myAriaRole">
|
Binds attribute See: Template Syntax |
<div [class.extra-sparkle]="isDelightful">
|
Binds the presence of the CSS class See: Template Syntax |
<div [style.width.px]="mySize">
|
Binds style property See: Template Syntax |
<button (click)="readRainbow($event)">
|
Calls method See: Template Syntax |
<div title="Hello {{ponyName}}">
|
Binds a property to an interpolated string, for example, “Hello Seabiscuit”. Equivalent to:
See: Template Syntax |
<p>Hello {{ponyName}}</p>
|
Binds text content to an interpolated string, for example, “Hello Seabiscuit”. See: Template Syntax |
<my-cmp [(title)]="name">
|
Sets up two-way data binding. Equivalent to:
See: Template Syntax |
<video #movieplayer ...> |
Creates a local variable See: Template Syntax |
<p *myUnless="myExpression">...</p>
|
The See: Template Syntax |
<p> |
Transforms the current value of expression See: Template Syntax |
<p> |
The safe navigation operator ( See: Template Syntax |
Core directives |
import 'package:angular/angular.dart';
Available from CORE_DIRECTIVES
|
---|---|
<section *ngIf="showSection">
|
Removes or recreates a portion of the DOM tree based on the See: Template Syntax, NgIf class |
<li *ngFor="let item of list">
|
Turns the li element and its contents into a template, and uses that to instantiate a view for each item in list. See: Template Syntax, NgFor class |
<div [ngSwitch]="conditionExpression"> |
Conditionally swaps the contents of the div by selecting one of the embedded templates based on the current value of conditionExpression. See: Template Syntax, NgSwitch class, NgSwitchCase class, NgSwitchDefault class |
<div [ngClass]="{active: isActive, disabled: isDisabled}">
|
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. See: Template Syntax, NgClass class |
Forms |
import 'package:angular_forms/angular_forms.dart'; Available from formDirectives |
---|---|
<input [(ngModel)]="userName">
|
Provides two-way data-binding, parsing, and validation for form controls. See: Forms, NgModel class |
Class decorators |
import 'package:angular/angular.dart';
|
---|---|
@Component(...) |
Declares that a class is a component and provides metadata about the component. |
@Directive(...) |
Declares that a class is a directive and provides metadata about the directive. |
@Pipe(...) |
Declares that a class is a pipe and provides metadata about the pipe. |
Directive configuration |
@Directive(property1: value1, ...)
|
---|---|
selector: '.cool-button:not(a)'
|
Specifies a CSS selector that identifies this directive within a template. Supported selectors include Does not support parent-child relationship selectors. |
providers: [MyService, Provider(...)]
|
List of dependency injection providers for this directive and its children. See: Attribute Directives, Structural Directives, providers property |
Component configuration |
@Component extends @Directive ,
so the @Directive configuration applies to components as well
|
---|---|
viewProviders: [MyService, Provider(...)]
|
List of dependency injection providers scoped to this component’s view. |
template: 'Hello {{name}}', |
Inline template or external template URL of the component’s view. |
styles: ['.primary {color: red}'] |
List of inline CSS styles or external stylesheet URLs for styling the component’s view. See: Component Styles |
directives: [CORE_DIRECTIVES, MyDirective, MyComponent]
|
List of directives used in the component’s template. |
pipes: [commonPipes, MyPipe, ...]
|
List of pipes used in the component’s template. See: Pipes, commonPipes |
Class field decorators for directives and components |
import 'package:angular/angular.dart';
|
---|---|
@Input() myProperty;
|
Declares an input property that you can update via property binding (example:
See: Template Syntax, Input class |
final _myEvent = new StreamController<T>(); |
Declares an output property that fires events that you can subscribe to with an event binding (example: See: Template Syntax, Output class |
@HostBinding('class.valid') isValid;
|
Binds a host element property (here, the CSS class See: HostBinding class |
@HostListener('click', ['$event']) |
Subscribes to a host element event ( |
@ContentChild(myPredicate) myChildComponent;
|
Binds the first result of the component content query ( See: ContentChild class |
@ContentChildren(myPredicate) myChildComponents;
|
Binds the results of the component content query ( |
@ViewChild(myPredicate) myChildComponent;
|
Binds the first result of the component view query ( See: ViewChild class |
@ViewChildren(myPredicate) myChildComponents;
|
Binds the results of the component view query ( See: ViewChildren class |
Directive and component change detection and lifecycle hooks | (implemented as class methods) |
---|---|
MyAppComponent(MyService myService, ...) { ... }
|
Called before any other lifecycle hook. Use it to inject dependencies, but avoid any serious work here. See: Lifecycle Hooks |
ngAfterChanges() { ... }
|
Called after every change to input properties and before processing content or child views. |
ngOnInit() { ... }
|
Called after the constructor, initializing input properties, and the first call to See: Lifecycle Hooks, OnInit class |
ngDoCheck() { ... }
|
Called every time that the input properties of a component or a directive are checked. Use it to extend change detection by performing a custom check. See: Lifecycle Hooks, DoCheck class |
ngAfterContentInit() { ... }
|
Called after ngOnInit when the component’s or directive’s content has been initialized. |
ngAfterContentChecked() { ... }
|
Called after every check of the component’s or directive’s content. |
ngAfterViewInit() { ... }
|
Called after |
ngAfterViewChecked() { ... }
|
Called after every check of the component’s view. Applies to components only. |
ngOnDestroy() { ... }
|
Called once, before the instance is destroyed. |
Dependency injection configuration |
import 'package:angular/angular.dart';
|
---|---|
Provider(MyService, useClass: MyMockService)
|
Sets or overrides the provider for |
Provider(MyService, useFactory: myFactory)
|
Sets or overrides the provider for |
Provider(MyValue, useValue: 42)
|
Sets or overrides the provider for |
Routing and navigation |
import 'package:angular_router/angular_router.dart';
|
---|---|
new RouteDefinition( |
Basic unit used to configure routes. |
<router-outlet [routes]="routes"></router-outlet>
|
Reserves a location in the DOM as an outlet for the router. |
<a routerLink="/heroes/{{hero.id}}">...</a> |
Creates a link to a different view. |