javascript – 如何在AngularJS中更改路径时阻止视图重绘

我正在创建一个Web应用程序,用户可以在该应用程序中查看地图上的对象,按下标记并转到包含信息的新视图.从这个角度来看,他们可以更深入地了解更多信息.

就像是:

> / map
> / tree / {treeid}
> / tree / {treeid} / information / {informationid}

我知道如何在路径/状态之间遍历时保持实际的模型状态.问题是当我回到浏览器历史记录时,我不想重新计算整个地图(带标记和所有内容).换句话说,我希望在进一步遍历时保持/ map的渲染状态.

这可以通过使用搜索参数而不是/ map上的路由(即./ map?treeid = 10)和禁用搜索上的重新加载,并在地图对象上执行ng-hide =“treeid”和在ng上显示ng-show来轻松实现.树信息对象.

我的问题是,是否有更好,更合适的方式来做角度的这个?

提前致谢.

最佳答案 解决“重新计算整个地图”问题,解决此问题的一种方法是将Google地图绘制在与ng视图相同的级别,并将其移出视图以隐藏它.

这是一个说明如何工作的plunker:
http://plnkr.co/edit/wsjYoG2uXxYxXTmWdFGh?p=preview

请注意我在隐藏时故意将某个地图的一部分留在屏幕上以显示在您更改路线时不会重绘.

点赞