2

我正在使用第三方 JS API,它创建一个附加到我的角度模板上的 html 元素的对象。

每次加载模板时,我都想重用已创建的对象并将其重新附加到正确的 html 元素。

在这个 plunker 中,您可以看到演示的问题。以下是重现的步骤。我非常感谢有关如何在页面加载之间保留第一个对象的任何建议。

提前致谢。

问题描述

要理解问题:

  • 点击上方的“显示地图”链接。“map.html”模板已正确加载并显示地图。
  • 移动地图或稍微放大地图以更改地图
  • 在地图页面上,点击“显示主页”链接返回此页面。
  • 现在,点击主页链接返回此页面
  • 现在,再次点击“显示地图”,您可以看到地图已重新创建。

我希望“map.html”模板重用现有的地图对象,以便地图在页面视图之间保持不变。

4

2 回答 2

1

这是一个不平凡的问题。

angular-gm模块重用地图实例,因此没有内存泄漏。还有angular-google-maps

于 2014-10-23T08:30:34.353 回答
0

I do it with the help of the routeproviderapi

http://docs.angularjs.org/api/ng.$routeProvider

You have the opportunity to have a resolver, that resolves all dependencies, that your controller needs for rendering the template. My resolover caches the object for the specific routeparams and will return this already instantiated object.

So basically your map-object is a dependency of your controller. The resolver manages the injection of this dependency and there you can implement some caching.

于 2013-04-27T10:05:57.280 回答