En https://netbasal.com/inspiration-for-custom-decorators-in-angular-95aeb87f072c il n'y a pas de
constructor.prototype.HelloWord.apply(this, null);
il suffit de commenter la ligne pour que votre application fonctionne
le cosntructor.prototype est utilisé pour pouvoir utiliser ngOnInit, ngOnChanges...
par exemple, l'affichage sur la page est
import { environment } from "../environments/environment";
export function NgLog() : ClassDecorator {
return function ( constructor : any ) {
if( !environment.production ) {
// Vous pouvez ajouter/supprimer des événements selon vos besoins
const LIFECYCLE_HOOKS = [
'ngOnInit',
'ngOnChanges',
'ngOnDestroy'
];
const component = constructor.name;
LIFECYCLE_HOOKS.forEach(hook => {
const original = constructor.prototype[hook];
constructor.prototype[hook] = function ( ...args ) {
console.log(`%c ${component} - ${hook}`, `color: #4CAF50; font-weight: bold`, ...args);
original && original.apply(this, args);
}
});
}
}
}