Как добавить четный объект в Angular и FabricJS? - PullRequest
0 голосов
/ 06 февраля 2019

Я новичок в угловых 5 и FabricJS.Я сделал класс, в котором я получил объект vrchol и метод changeColor.Я хочу добавить событие в vrchol, но это не работает.

this.vrchol.on("mouseover",this.changeColor);

changeColor(){ this.vrchol.set("fill","green");}

1 Ответ

0 голосов
/ 06 февраля 2019

При событии mouseover установите для кеша грязное значение true и отобразите объект, чтобы он отражал изменения.

DEMO

var canvas = new fabric.Canvas('c');
var circle = new fabric.Circle({
  radius: 100
});
canvas.add(circle);
circle.on('mouseover', onMouseOver);
circle.on('mouseout', onMouseOut);

function onMouseOver() {
  if (this.fill != 'red') {
    this.set({
      'fill': 'red',
      'dirty': true
    });
    canvas.requestRenderAll();
  }
}

function onMouseOut() {
  if (this.fill == 'red') {
    this.set({
      'fill': 'black',
      'dirty': true
    });
    canvas.requestRenderAll();
  }
}
canvas{
  border:1px solid;
}
<script src="http://cdnjs.cloudflare.com/ajax/libs/fabric.js/2.6.0/fabric.js"></script>
<canvas id='c' width=400 height=400></canvas>
...