繁体   English   中英

强制浏览器重新渲染

[英]Force browser to re-render

使用 Angular 9 和 ngx-Graph 我遇到了一个问题,即在完成平移到特定节点的命令后没有重新渲染图形。 只有当我移动鼠标时,图形才会呈现。 我认为这是一个普遍的渲染问题,所以我想检查是否有办法强制浏览器重新渲染页面而不刷新 url?

尝试 ChangeDetectorRef 没有成功,所以我认为这是特定于图形组件的。 起作用的是像这样模拟 mousemove 事件(不是最好的修复,但它有效):

@ViewChild('graph', { read: ElementRef }) graph:ElementRef;

 private mouseMoveEvent = new MouseEvent('mousemove', {
    clientX: 0,
    clientY: 0,
    bubbles: true,
    cancelable: true
  });

  public panToNode(id: any) {
    this.panToNodeObservable.next(id);
    //  Fix to re-render graph on panning
    this.graph.nativeElement.dispatchEvent(this.mouseMoveEvent);
  }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM