Выбираемое свойство строки Fabric.js не сохраняется в JSON холста

У меня есть холст, где я рисую линии сетки, используя метод рисования линий fabric.js. Я определяю свойство выделения этих линий как ложное во время рисования, которое работает нормально, как и ожидалось. Теперь, когда я упорядочил холст и получил вывод JSON, я заметил, что остальные свойства были извлечены, кроме свойства selection. Что мне нужно сделать, чтобы сохранить свойство выбора в JSON без изменений? Я использую fabric.js-1.4.10

1 ответ

Вы можете перейти с помощью следующего кода, и у вас будут все дополнительные свойства, когда вы будете вызывать метод toJSON():

                var obj = fabric.util.groupSVGElements(objects, options).set({
                    top: 0,
                    left: 0
                });
                obj.toJSON = (function (toJSON) {
                    return function () {
                        return fabric.util.object.extend(toJSON.call(this), {
                            customProperties: this.customProperties
                        });
                    };
                })(obj.toJSON);

На самом деле, как сказал @Abhishek в комментарии, метод toJSON() фабрики или любой другой метод, используемый для экспорта svg, будет экспортировать только свойства фабричной структуры по умолчанию. Если вы хотите получить свое собственное добавленное свойство в списке экспорта, то вам нужно переопределить метод toJSON, как я это делал в приведенном выше коде, чем после того, как вы будете использовать метод toJSON(), у вас будет свойство customproperty в экспортированном JSON.

Другие вопросы по тегам