AngularJS破坏HTML DOM并给Esri地图带来麻烦

时间:2017-02-04 13:58:04

标签: angularjs dojo esri

我们有一个由AngularJS v1.4.12开发的网络应用程序,并且主页上显示了一个大的Esri地图,但是,当离开地图页面然后稍后回来时(通过AngularJS路由),我们注意到HTML DOM之前的地图页面被破坏并生成了一个新副本,但是Esri地图对象仍然与旧DOM绑定并导致麻烦,所以最后我们决定总是运行用于在输入时呈现Esri地图的代码地图页面,但可能是因为我们在Esri和Dojo上的经验有限,我们只能在setTimeout回调中运行该代码以确保DOM准备就绪,但这会导致很多依赖和新问题。

所以我的问题是:

  1. 有没有办法强制AngularJS在离开页面时不要破坏HTML DOM(例如将其保存在由AngularJS管理的缓存中并在以后重用)?
  2. 如果#1不可能,那么任何其他方法可以优雅高效地重新生成Esri地图?
  3. 谢谢。

1 个答案:

答案 0 :(得分:0)

您使用的是https://github.com/Esri/angular-esri-map库吗? ArcGIS v4.x examplesv3.x examples的网站都使用角度路由器,并且都没有您在上面描述的问题。

该存储库中提供了这些站点的源代码: