25 lines
		
	
	
		
			597 B
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
			
		
		
	
	
			25 lines
		
	
	
		
			597 B
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
// #docregion
 | 
						|
import { Directive, OnInit, OnDestroy } from '@angular/core';
 | 
						|
 | 
						|
import { LoggerService } from './logger.service';
 | 
						|
 | 
						|
let nextId = 1;
 | 
						|
 | 
						|
// #docregion spy-directive
 | 
						|
// Spy on any element to which it is applied.
 | 
						|
// Usage: <div mySpy>...</div>
 | 
						|
@Directive({selector: '[mySpy]'})
 | 
						|
export class SpyDirective implements OnInit, OnDestroy {
 | 
						|
 | 
						|
  constructor(private logger: LoggerService) { }
 | 
						|
 | 
						|
  ngOnInit()    { this.logIt(`onInit`); }
 | 
						|
 | 
						|
  ngOnDestroy() { this.logIt(`onDestroy`); }
 | 
						|
 | 
						|
  private logIt(msg: string) {
 | 
						|
    this.logger.log(`Spy #${nextId++} ${msg}`);
 | 
						|
  }
 | 
						|
}
 | 
						|
// #enddocregion spy-directive
 |