Отменить Повторить для Fabric.js

Я пытаюсь добавить функцию отмены / повтора на свой холст Fabric.js. Моя идея состоит в том, чтобы иметь счетчик, который считает изменения холста (прямо сейчас он считает добавление объектов). У меня есть массив состояний, который помещает весь холст как JSON в мой массив.

Тогда я просто хочу вспомнить состояния с

canvas.loadFromJSON(state[state.length - 1 + ctr],

Когда пользователь нажимает отмену, ctr уменьшится на единицу и загрузит состояние из массива; когда пользователь нажимает кнопку «Повторить», ctr увеличивается на единицу и загружает состояние из массива.

Когда я испытываю это с простыми числами, все работает отлично. С реальным тканевым холстом у меня возникают некоторые проблемы -> это на самом деле не работает. Я думаю, что это зависит от моего обработчика событий

canvas.on({
   'object:added': countmods
});

jsfiddle это здесь:

Вот пример только рабочих чисел (результаты см. в консоли):jsFiddle

Ответы на вопрос(5)

Ваш ответ на вопрос