import { Component, NgModule, Input } from '@angular/core';
import { BrowserModule } from '@angular/platform-browser';
import { platformBrowserDynamic } from '@angular/platform-browser-dynamic';
class Joke {
setup: string;
punchline: string;
hide: boolean;
constructor(setup: string, punchline: string) {
this.setup = setup;
this.punchline = punchline;
this.hide = true;
}
toggle() {
this.hide = !this.hide;
}
}
@Component({
selector: 'joke',
template: `
{{ data.setup }}
{{ data.punchline }}
`
})
class JokeComponent {
@Input('joke') data: Joke;
}
@Component({
selector: 'joke-list',
template: `
`
})
class JokeListComponent {
jokes: Joke[];
constructor() {
this.jokes = [
new Joke('f1', 'efvdfg1'),
new Joke('f2', 'efvdfg2'),
new Joke('f3', 'efvdfg4')
];
}
}
@Component({
selector: 'app',
template: ''
})
class AppComponent {
}
@NgModule({
imports: [BrowserModule],
declarations: [
JokeComponent,
JokeListComponent,
AppComponent
],
bootstrap: [AppComponent]
})
class AppModule {
}
platformBrowserDynamic().bootstrapModule(AppModule);