30 lines
		
	
	
		
			746 B
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
			
		
		
	
	
			30 lines
		
	
	
		
			746 B
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
| // #docregion
 | |
| import {Component, Input, OnInit} from 'angular2/core';
 | |
| 
 | |
| import {Hero}                     from './hero';
 | |
| import {HeroCacheService}         from './hero-cache.service';
 | |
| 
 | |
| // #docregion component
 | |
| @Component({
 | |
|   selector:'hero-bio',
 | |
|   // #docregion template
 | |
|   template:`
 | |
|     <h4>{{hero.name}}</h4>
 | |
|     <ng-content></ng-content>
 | |
|     <textarea cols="25" [(ngModel)]="hero.description"></textarea>`,
 | |
|   // #enddocregion template
 | |
|   providers: [HeroCacheService]
 | |
| })
 | |
| 
 | |
| export class HeroBioComponent implements OnInit  {
 | |
| 
 | |
|   @Input() heroId:number;
 | |
| 
 | |
|   constructor(private _heroCache:HeroCacheService) { }
 | |
| 
 | |
|   ngOnInit() { this._heroCache.fetchCachedHero(this.heroId); }
 | |
| 
 | |
|   get hero() { return this._heroCache.hero; }
 | |
| }
 | |
| // #enddocregion component
 |