J'ai commencé à utiliser des caractères dactylographiés avec angularjs. J'ai écrit une classe simple qui est responsable du comportement de glisser-déposer (ou sera à l'avenir). Mais en ce moment dans ma fonction handleDragEnd quand j'accéder à l'élément de toile J'obtiens l'erreurImpossible d'accéder à la variable de classe
Impossible de lire la propriété undefined
ci-dessous est mon code - si quelqu'un pouvait me dire ce que je fais mal, je serais reconnaissant.
class ToolBox {
private canvas;
constructor(canvas)
{
this.canvas = canvas;
$(".beacon").draggable({
helper: 'clone',
cursor: 'pointer',
start: this.handleDragStart,
stop: this.handleDragEnd
});
}
handleDragStart()
{
console.log('Drag Started!');
}
handleDragEnd()
{
var pointer = this.canvas.getPointer(event.e);
console.log('Drag End!');
return;
}
}
Au cas où vous ne l'avez pas déjà fait. Vous devriez vérifier [propriétés de paramètre] (https://github.com/Microsoft/TypeScript/wiki/Classes#parameter-properties). Ils sont une syntaxe agréable qui va supprimer quelques lignes dans votre code en faisant 'constructeur (toile privée)' –