1

有没有办法在更改视图并返回时保持 $scope ?

当我加载某个视图时,会有一些重载(加载数据),但如果我切换视图并返回到这个视图,数据将再次重新加载。有没有办法防止这种情况?

我不希望在视图之间共享数据,我只是希望在返回同一视图时拥有旧状态。

4

1 回答 1

1

有几种方法可以处理这个问题。

$rootScope
您也许可以将值存储在 $rootScope 中,我不相信当您使用内部路由模块时它会发生变化,但我不建议这样做。

服务(我的即时推荐
您可以使用静态服务,可以在其中存储数据,无论是不断地,还是在改变路线时。然后您可以再次将数据加载到 $scope 中。

缓存
AngularJS 有一个内置的缓存,你可以使用。如果您只需要存储其中的一部分,或者存储更短的时间,这非常棒。在此处阅读 CacheFactory的文档。

WebSQL 或 localstorage
对于大量数据,想要在会话之间存储,可以在大多数浏览器中使用 WebSQL 数据库,或者将其作为文本存储在浏览器中的 localStorage 中。

于 2016-02-04T17:06:15.643 回答