Я пытаюсь интегрировать AngularJS с d3 для перетаскивания и изменения размера. Мне удалось создать объект rect
, который можно перетаскивать в элементе SVG и изменять размер с помощью ручек изменения размера. Ручки изменения размера работают так, как должны, но изменение размера изменчиво, когда я пытаюсь изменить размер в северном или восточном направлении. Я создал следующий Plunk в качестве демонстрации проблемы: http://plnkr.co/tG19vpyyw0OHMetLOu2U. (Я упростил это, чтобы показать проблему, с которой я столкнулся, так что есть только одна ручка изменения размера.)AngularJS + d3js: проблемы с объектами изменения размера
Работы по перетаскиванию как следует, а также изменение размеров на западном и южном направлениях (также не показано в демо).
Понятно, что я попросил бы об этом сообщество и посмотрел, с кем раньше сталкивался. Спасибо вам всем.
Я вижу, что это работает - однако, я вижу, что при функции перетаскивания вы также меняете ширину и высоту прямоугольника? Я пытаюсь полностью понять последствия кода, который вы здесь написали (так как мне придется включать в группу другие элементы, которые должны будут перемещаться вместе с прямоугольником). Кроме того, вы сказали, что задержка вызывает проблему? Если бы я смог найти способ отложить выполнение, это бы устранить проблему? –
Нет, основная проблема заключается в отключении между настройкой атрибутов двух связанных объектов, которые я считаю. Вы должны иметь возможность помещать 'myrect' внутри группы с другими элементами (но не' resizer') без проблем. –
Как получается, что свойство 'transform' группы и координаты x/y квадрата установлены на угловое значение? Я уверен, что я пробовал это раньше и сталкивался с проблемами, когда функция перетаскивания не работала правильно (поскольку группа x/y и rect x/y добавлялись вместе). (Вот почему, первоначально, я исправил координаты прямоугольника до 0,0.) Полагаю, я понимаю, что это работает, но я пытаюсь выяснить, что вы сделали и что я не делал. –