javascript — проблема с событиями перетаскивания после обновления Angular до 8. (с использованием D3)

Проблема с событиями перетаскивания после углового обновления до 8. (используя D3)

Я только нахожусь в процессе обновления нашего приложения с Angular 6 до 8 (которое включает в себя обновление многих зависимостей), и я столкнулся с проблемой перетаскивания узлов d3. После моего обновления я теперь получаю эту ошибку всякий раз, когда пытаюсь перетащить узлы:

 breadcrumbs.js:64 TypeError: Cannot read property 'ctrlKey' of null at SVGRectElement.defaultFilter (drag.js:10) at SVGRectElement.mousedowned (drag.js:51) at SVGRectElement.{amp}lt;anonymous{amp}gt; (on.js:27) at SVGRectElement.sentryWrapped (helpers.js:74) at ZoneDelegate.invokeTask (zone-evergreen.js:391) at Object.onInvokeTask (core.js:39679) at ZoneDelegate.invokeTask (zone-evergreen.js:390) at Zone.runTask (zone-evergreen.js:168) at ZoneTask.invokeTask [as invoke] (zone-evergreen.js:465) at invokeTask (zone-evergreen.js:1603) at SVGRectElement.globalZoneAwareCallback (zone-evergreen.js:1629) 

Когда я смотрю на drag.js в Chrome Dev drag.js я получаю это:

 import {dispatch} from "d3-dispatch"; import {event, customEvent, select, mouse, touch} from "d3-selection"; import nodrag, {yesdrag} from "./nodrag.js"; import noevent, {nopropagation} from "./noevent.js"; import constant from "./constant.js"; import DragEvent from "./event.js"; // Ignore right-click, since that should open the context menu. function defaultFilter() { return !event.ctrlKey {amp}amp;{amp}amp; !event.button; } ... 

Если я defaultFilter() внутри defaultFilter() и посмотрю на event импортированное в начало файла, это будет объект события с правильной целью и всем, кроме объекта события внутри функции ( return !event.ctrlKey {amp}amp;{amp}amp; !event.button ) нулевой.

Кроме того, мы используем this.d3.select(this.el.nativeElement).call(this.d3.drag().on('drag', onDrag)) в директиве для добавления прослушивателя события перетаскивания к узлам.

Любое понимание этого будет с благодарностью! Если вам нужно больше информации, я с удовольствием предоставлю больше.

Понравилась статья? Поделиться с друзьями:
JavaScript & TypeScript
Adblock
detector