22 lines
		
	
	
		
			529 B
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
			
		
		
	
	
			22 lines
		
	
	
		
			529 B
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
// #docregion
 | 
						|
import {Component, EventEmitter, Input, Output} from 'angular2/core';
 | 
						|
 | 
						|
@Component({
 | 
						|
  selector: 'my-voter',
 | 
						|
  template: `
 | 
						|
    <h4>{{name}}</h4>
 | 
						|
    <button (click)="vote(true)"  [disabled]="voted">Agree</button>
 | 
						|
    <button (click)="vote(false)" [disabled]="voted">Disagree</button>
 | 
						|
  `
 | 
						|
})
 | 
						|
export class VoterComponent {
 | 
						|
  @Input()  name: string;
 | 
						|
  @Output() onVoted = new EventEmitter<boolean>();
 | 
						|
  voted = false;
 | 
						|
 | 
						|
  vote(agreed:boolean){
 | 
						|
    this.onVoted.emit(agreed);
 | 
						|
    this.voted = true;
 | 
						|
  }
 | 
						|
}
 | 
						|
// #enddocregion
 |