34 lines
676 B
TypeScript
34 lines
676 B
TypeScript
// #docregion
|
|
import {Directive, Input,
|
|
OnInit, OnDestroy} from 'angular2/core';
|
|
|
|
import {LoggerService} from './logger.service';
|
|
|
|
/***************************************/
|
|
let nextId = 1;
|
|
|
|
// Spy on any element to which it is applied.
|
|
// Usage: <div my-spy>...</div>
|
|
@Directive({selector: '[my-spy]'})
|
|
export class Spy implements OnInit, OnDestroy {
|
|
|
|
private _id = nextId++;
|
|
private _logger:LoggerService;
|
|
|
|
constructor(logger:LoggerService){
|
|
this._logger = logger;
|
|
}
|
|
|
|
ngOnInit() {
|
|
this._logIt(`onInit`);
|
|
}
|
|
|
|
ngOnDestroy() {
|
|
this._logIt(`onDestroy`);
|
|
}
|
|
|
|
private _logIt(msg:string){
|
|
this._logger.log(`Spy #${this._id } ${msg}`);
|
|
}
|
|
}
|