完全卸载并重新加载 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。
希望对你有帮助
我在 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。
希望对你有帮助