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
							 |