Rete.js 在调整窗口大小之前不会渲染编辑器

问题描述

我正在使用 Angular 7.1.4"rete": "^1.4.4"。如果我在组件内使用编辑器,它呈现正常,但如果将编辑器作为子组件传递给另一个具有 ng-content 的组件,它不会在编辑器内呈现节点,直到调整窗口大小。作为一种解决方法,我尝试在 ngOnInit 中触发窗口大小调整:

setTimeout(() => {
            window.dispatchEvent(new Event('resize'));
        });

它渲染节点但不渲染连接线

enter image description here

解决方法

找到修复。我在 ngAfterViewInit 中初始化容器,发现并不是所有的样式属性都在 ngAfterViewInit 事件之后附加。所以修复是设置超时

setTimeout(() => { const container = this.el.nativeElement; let editor = new NodeEditor("rivetNodeEditor@0.1.0",container); ... },10);

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...