Почему obj.getBoundingRect() «не является функцией»?

#javascript #node.js #canvas #fabricjs

Вопрос:

В настоящее время я запускаю этот код на NodeJS, используя fabric пакет npm.

 var obj
for (var i=0, max=canvas.toObject().length; i < max; i  ) {
    obj = canvas.toObjects[i]
    console.log(obj.getBoundingRect())
}
 

Однако это приведет к сбою программы и возврату:

obj.getBoundingRect is not a function

Я искал замену получения данных о ограничивающем прямоугольнике объекта в NodeJS, но пока безрезультатно …

Комментарии:

1. Воспользуйся getBoundingClientRect() . Ошибка говорит вам, что getBoundingRect() это не функция, потому что это не так.

Ответ №1:

Проблема не obj.getBoundingRect() в этом , а в том, как построен ваш цикл for.

Вот правильный синтаксис:

 var allObjects = canvas.getObjects(),
    obj;
for (var i=0, max=allObjects.length; i < max; i  ) {
    obj = allObjects[i];
    console.log(obj.getBoundingRect())
}