Autodesk forge 完全卸载并重新加载forge viewer

Autodesk forge 完全卸载并重新加载forge viewer,autodesk-forge,autodesk-viewer,Autodesk Forge,Autodesk Viewer,我正在Angular 5应用程序上使用Forge Viewer 有没有办法完全卸载查看器,以便以后可以重新加载 我有以下代码来卸载查看器: if (this.viewer && this.viewer.running) { this.viewer.tearDown(); this.viewer.finish(); this.viewer = null; } 我还拥有每次用户进入页面时加载查看器的代码 当前,当用户导航到应用程序上的其他页面时,该代码会被执行,但当用户

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

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

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

if (this.viewer && this.viewer.running) {
  this.viewer.tearDown();
  this.viewer.finish();
  this.viewer = null;
}
我还拥有每次用户进入页面时加载查看器的代码

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

这是一份github回购协议,再现了这一问题:


我在这里遗漏了什么吗?

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

我的应用程序正在使用React和,以避免在初始化器已经初始化时调用它两次


希望这能有所帮助

你好,Phillipe,我有一个应用程序,可以在其中拆下查看器并再次加载模型。这是可行的,但问题是模型的Id每次都在增加。我原以为拆下后,ID会重置为1。为什么查看器保留在拆卸之前添加了多少查看器的内存。我应该如何重置ID?谢谢。@PhillipeYeah我希望它也能被重置。。。我不再在adsk工作,因此我建议您寻求专门的支持,我的回答将非常简短:)关于您的工作流的上下文信息太少,无法提供更精确的建议,但首先您可以卸载模型而不必完全拆下查看器,其次我不会依赖API生成的模型ID来完成任何事情,在加载新模型时,您可以使用API事件设置自己的guid或任何要附加到模型对象的数据。干杯你好,菲利普,谢谢你的意见。我们正在尝试设置自己的ID的方法。我希望它能起作用。这肯定能起作用,用了很久了。我在“Autodesk.Viewing.model\u ROOT\u LOADED\u事件”中获取模型,并执行类似model.myId=“unique guid”的简单操作