57 lines
1.1 KiB
TypeScript
57 lines
1.1 KiB
TypeScript
import {Component, EventEmitter, Input, Output} from 'angular2/core';
|
|
|
|
// #docregion
|
|
@Component({
|
|
selector: 'my-confirm',
|
|
template: `
|
|
<button (click)="onOkClick()">
|
|
{{okMsg}}
|
|
</button>
|
|
<button (click)="onNotOkClick()">
|
|
{{notOkMsg}}
|
|
</button>
|
|
`
|
|
})
|
|
export class ConfirmComponent {
|
|
@Input() okMsg:string;
|
|
@Input('cancelMsg') notOkMsg:string;
|
|
@Output() ok =
|
|
new EventEmitter();
|
|
@Output('cancel') notOk =
|
|
new EventEmitter();
|
|
|
|
onOkClick() {
|
|
this.ok.next(true);
|
|
}
|
|
onNotOkClick() {
|
|
this.notOk.next(true);
|
|
}
|
|
}
|
|
// #enddocregion
|
|
|
|
|
|
@Component({
|
|
selector: 'hero-io',
|
|
template: `
|
|
<my-confirm [okMsg]="'OK'"
|
|
[cancelMsg]="'Cancel'"
|
|
(ok)="onOk()"
|
|
(cancel)="onCancel()">
|
|
</my-confirm>
|
|
<span *ngIf="okClicked">OK clicked</span>
|
|
<span *ngIf="cancelClicked">Cancel clicked</span>
|
|
`,
|
|
directives: [ConfirmComponent]
|
|
})
|
|
export class AppComponent {
|
|
okClicked:boolean;
|
|
cancelClicked:boolean;
|
|
|
|
onOk() {
|
|
this.okClicked = true;
|
|
}
|
|
onCancel() {
|
|
this.cancelClicked = true;
|
|
}
|
|
}
|