У меня есть один Angular проект, который использует fabri c. js для canvas. У меня есть одна проблема в использовании прослушивателя событий для объекта canvas.
В приведенном ниже коде я хочу использовать глобальную переменную «disabled» в функции «movehandler». "console.log (this.disabled)" не работает. В консоли оно отображается как «undefined».
Как использовать глобальную переменную в функции для canvas.
...
disabled = "yes";
...
ngAfterViewInit(){
this.canvas = new fabric.Canvas(this.canvasTerm);
console.log(this.canvas);
this.innerWidth = window.innerWidth;
this.innerHeight = window.innerHeight;
this.canvas.setHeight(this.innerHeight - 120);
this.canvas.setWidth(this.innerWidth - 120);
this.canvas.on('object:moving', function () {
console.log('Event object:moving Triggered');
});
var moveHandler = function (evt) {
var movingObject = evt.target;
//console.log("sss",movingObject.get('left'), movingObject.get('top'));
};
//handler for done modifying objects on canvas
var modifiedHandler = function (evt) {
var modifiedObject = evt.target;
console.log(this.disabled);
console.log( modifiedObject.id,"last",modifiedObject.get('left'), modifiedObject.get('top'));
};
var customEvtHandler = function (evt) {
console.log("I was triggered by a custom event.");
};
//or you register with key/value pairs
this.canvas.on({
'object:moving' : moveHandler,
'object:modified' : modifiedHandler,
'custom:event' : customEvtHandler
});
}