Je fais un plugin pour Aurelia et ont besoin d'un décorateur de classe quitapuscrit décorateur de classe qui modifie instance d'objet
- ajoute des attributs à la nouvelle instance d'objet, et
- appelle une fonction externe avec le nouvel objet comme argument.
Je l'ai regardé à travers des exemples, et jusqu'à présent, je l'ai mis en place ("pseudo-ish" Code)
return function addAndCall(target: any): any {
var original = target;
var newConstructor = function (...args) {
original.apply(this, args);
this.newAttribute = "object instance value";
ExternalModule.externalFunction(this);
};
newConstructor.prototype = Object.create(original.prototype);
newConstructor.prototype.constructor = original;
return <any>newConstructor;
}
mais
- Je ne suis pas tout à fait clair sur les détails ici (ou ce qui est réellement nécessaire), et
- il pourrait ne pas fonctionner correctement puisque j'obtiens des erreurs d'Aurelia en utilisant des objets instanciés des classes avec ce décorateur (et je suspecte que c'est mon décorateur plutôt que l'Aurelia cadre qui est buggé).
Toute aide et explication seraient grandement appréciées!
souhaits Je l'avais vu plus tôt - cela m'a pris des heures pour arriver à cela. –