2015-11-21 11:23:40 -08:00
|
|
|
// #docregion
|
2016-06-08 01:06:25 +02:00
|
|
|
import { Directive, OnInit, OnDestroy } from '@angular/core';
|
2016-05-03 14:06:32 +02:00
|
|
|
|
2016-06-08 01:06:25 +02:00
|
|
|
import { LoggerService } from './logger.service';
|
2015-11-21 11:23:40 -08:00
|
|
|
|
|
|
|
let nextId = 1;
|
|
|
|
|
2016-01-23 18:21:09 +00:00
|
|
|
// #docregion spy-directive
|
2015-11-21 11:23:40 -08:00
|
|
|
// Spy on any element to which it is applied.
|
2016-05-01 21:27:19 +02:00
|
|
|
// Usage: <div mySpy>...</div>
|
|
|
|
@Directive({selector: '[mySpy]'})
|
2016-06-13 00:41:33 +02:00
|
|
|
export class SpyDirective implements OnInit, OnDestroy {
|
2015-11-21 11:23:40 -08:00
|
|
|
|
2016-05-03 14:06:32 +02:00
|
|
|
constructor(private logger: LoggerService) { }
|
2015-11-21 11:23:40 -08:00
|
|
|
|
2016-05-03 14:06:32 +02:00
|
|
|
ngOnInit() { this.logIt(`onInit`); }
|
2015-11-21 11:23:40 -08:00
|
|
|
|
2016-05-03 14:06:32 +02:00
|
|
|
ngOnDestroy() { this.logIt(`onDestroy`); }
|
2015-11-21 11:23:40 -08:00
|
|
|
|
2016-05-03 14:06:32 +02:00
|
|
|
private logIt(msg: string) {
|
|
|
|
this.logger.log(`Spy #${nextId++} ${msg}`);
|
2015-11-21 11:23:40 -08:00
|
|
|
}
|
|
|
|
}
|
2016-01-23 18:21:09 +00:00
|
|
|
// #enddocregion spy-directive
|