Sto lavorando a un'applicazione Stack MEAN e uso FabricJS su di esso. Per lavorare più facilmente su di esso ho trovato https://github.com/michaeljcalkins/angular-fabric e ho ottenuto la maggior parte delle mie cose lavorando ora.FabricJS AngularJS Events on Canvas
Ora voglio fare qualcosa, se l'utente fa clic sulla tela. qualcosa solo con FabricJS ho fatto come:
$scope.canvas.on('mouse:down', function() {
alert("mouse down");
});
Ma ora con tessuto angolare non ho accesso alla tela direttamente. Questo è il mio controller:
app.controller('FabricCtrl', ['$scope', 'Fabric', 'FabricConstants', 'Keypress', function($scope, Fabric, FabricConstants, Keypress) {
$scope.fabric = {};
$scope.FabricConstants = FabricConstants;
$scope.$on('canvas:created', function() {
$scope.fabric = new Fabric({
JSONExportProperties: FabricConstants.JSONExportProperties,
textDefaults: FabricConstants.textDefaults,
shapeDefaults: FabricConstants.shapeDefaults,
json: {}
});
$scope.fabric.setCanvasSize(32, 32);
$scope.fabric.canvasScale = 10;
$scope.fabric.setZoom();
Keypress.onSave(function() {
$scope.updatePage();
});
});
ma non posso fare qualcosa di simile:
$scope.fabric.on('mouse:down', function() {
alert("mouse down");
});
or
$scope.fabric.canvas.on('mouse:down', function() {
alert("mouse down");
});
Se modifico le fabric.js e modificare gli eventi direttamente su tela, funzionerà. Ma non posso immaginare che questo sia il modo giusto, forse qualcuno ha un'idea?