Когда я перетаскиваю корневой элемент компонента, предполагая, что в компоненте присутствует прослушиватель перетаскивания, например:
@HostListener('drag', ['event'])
onDrag(e) { ... }
Каждый раз, когда происходит событие, происходит обнаружение изменений, потому что событиеявляется асинхронной операцией.
Тем не менее, при ручном запуске события перетаскивания я не могу обнаружить обнаружение изменений.
let event = new Event('drag');
fixture.nativeElement.dispatchEvent(event);
Это вызовет прослушиватель перетаскивания, ноне будет инициировать обнаружение изменений.
Просто чтобы прояснить ситуацию, я знаю, что могу инициировать событие вручную, а затем вручную вызвать detectChanges()
, но я бы хотел, чтобы событие инициировало обнаружение изменений, как в реальном сценарии..