45 lines
		
	
	
		
			993 B
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
		
		
			
		
	
	
			45 lines
		
	
	
		
			993 B
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
|  | import { Component } from '@angular/core'; | ||
|  | 
 | ||
|  | // #docregion
 | ||
|  | @Component({ | ||
|  |   selector: 'hero-host-meta', | ||
|  |   template: `
 | ||
|  |     <h1 [class.active]="active">Hero Host in Metadata</h1> | ||
|  |     <div>Heading clicks: {{clicks}}</div> | ||
|  |   `,
 | ||
|  |   host: { | ||
|  |     // HostBindings to the <hero-host-meta> element
 | ||
|  |     '[title]': 'title', | ||
|  |     '[class.heading]': 'headingClass', | ||
|  | 
 | ||
|  |     // HostListeners on the entire <hero-host-meta> element
 | ||
|  |     '(click)': 'clicked()', | ||
|  |     '(mouseenter)': 'enter($event)', | ||
|  |     '(mouseleave)': 'leave($event)' | ||
|  |   }, | ||
|  |   // Styles within (but excluding) the <hero-host-meta> element
 | ||
|  |   styles: ['.active {background-color: coral;}'] | ||
|  | }) | ||
|  | export class HeroHostMetaComponent { | ||
|  |   title = 'Hero Host in Metadata Tooltip'; | ||
|  |   headingClass = true; | ||
|  | 
 | ||
|  |   active = false; | ||
|  |   clicks = 0; | ||
|  | 
 | ||
|  |   clicked() { | ||
|  |     this.clicks += 1; | ||
|  |   } | ||
|  | 
 | ||
|  |   enter(event: Event) { | ||
|  |     this.active = true; | ||
|  |     this.headingClass = false; | ||
|  |   } | ||
|  | 
 | ||
|  |   leave(event: Event) { | ||
|  |     this.active = false; | ||
|  |     this.headingClass = true; | ||
|  |   } | ||
|  | } | ||
|  | // #enddocregion
 |