* boilerplate, gulpfile, quickstart * move ts files up to cookbooks * move rest of ts files * fix tsconfig, default build task, json file * fix js examples * fix webpack example * remove a2docs.css references * fix aot examples * fix webpack run task * fix cb-i18n * fix upgrade examples * fix unit tests * fix comment in deployment index * removed unused typings.json * fix plunkers * fix js example paths * fix ts quickstart/setup prose * add src folder note to setup * broadly replace app/ -> src/app/ * broadly replace main.ts * broadly replaced index.html * broadly replace tsconfig * replace systemjs * fix filetrees * Minor prose fixes to aot, i18n cookbooks * remove char harp was complaining about * update new reactive forms example * fix quickstart jade error * fix mistakes uncovered by CI * fix bad filename errors * edit style guide 04-06 rule to use src * add changelog * Incorporate Jesus's feedback * fix snippet headers in toh1/2 * chore: tweak changelog and setup text
39 lines
946 B
TypeScript
39 lines
946 B
TypeScript
// #docregion
|
|
import { Component } from '@angular/core';
|
|
|
|
import { Observable } from 'rxjs/Observable';
|
|
import 'rxjs/add/observable/interval';
|
|
import 'rxjs/add/operator/map';
|
|
import 'rxjs/add/operator/take';
|
|
|
|
@Component({
|
|
selector: 'hero-message',
|
|
template: `
|
|
<h2>Async Hero Message and AsyncPipe</h2>
|
|
<p>Message: {{ message$ | async }}</p>
|
|
<button (click)="resend()">Resend</button>`,
|
|
})
|
|
export class HeroAsyncMessageComponent {
|
|
message$: Observable<string>;
|
|
|
|
private messages = [
|
|
'You are my hero!',
|
|
'You are the best hero!',
|
|
'Will you be my hero?'
|
|
];
|
|
|
|
constructor() { this.resend(); }
|
|
|
|
resend() {
|
|
this.message$ = Observable.interval(500)
|
|
.map(i => this.messages[i])
|
|
.take(this.messages.length);
|
|
}
|
|
}
|
|
// #enddocregion
|
|
|
|
// Alternative message$ formula:
|
|
// this.message$ = Observable.fromArray(this.messages)
|
|
// .map(message => Observable.timer(500).map(() => message))
|
|
// .concatAll();
|