完全卸载并重新加载 forge 查看器

Completely unload and reload forge viewer

我在 Angular 5 应用程序上使用 Forge Viewer。

有没有办法完全卸载查看器以便稍后重新加载?

我有以下代码来卸载查看器:

if (this.viewer && this.viewer.running) {
  this.viewer.tearDown();
  this.viewer.finish();
  this.viewer = null;
}

而且我还有每次用户进入页面时加载查看器的代码。

目前,当用户导航到应用程序的不同页面时,该代码会被执行,但当用户返回包含查看器的页面时,它会在查看器所在的位置显示一个灰色框。

这是重现该问题的 github 存储库:https://github.com/theivanaguilar/forge-viewer-reload

我是不是漏掉了什么?

静态方法Autodesk.Viewing.Initializer只能调用一次,以后不会return。每次加载组件时都需要调用所有其他查看器方法。所以你需要稍微重构一下你的代码。

我的应用程序使用 React 和 I save a boolean in the appState 来避免在已经初始化的情况下调用两次 Initializer。

希望对你有帮助