有没有办法在更改视图并返回时保持 $scope ?
当我加载某个视图时,会有一些重载(加载数据),但如果我切换视图并返回到这个视图,数据将再次重新加载。有没有办法防止这种情况?
我不希望在视图之间共享数据,我只是希望在返回同一视图时拥有旧状态。
有没有办法在更改视图并返回时保持 $scope ?
当我加载某个视图时,会有一些重载(加载数据),但如果我切换视图并返回到这个视图,数据将再次重新加载。有没有办法防止这种情况?
我不希望在视图之间共享数据,我只是希望在返回同一视图时拥有旧状态。
有几种方法可以处理这个问题。
$rootScope
您也许可以将值存储在 $rootScope 中,我不相信当您使用内部路由模块时它会发生变化,但我不建议这样做。
服务(我的即时推荐)
您可以使用静态服务,可以在其中存储数据,无论是不断地,还是在改变路线时。然后您可以再次将数据加载到 $scope 中。
缓存
AngularJS 有一个内置的缓存,你可以使用。如果您只需要存储其中的一部分,或者存储更短的时间,这非常棒。在此处阅读 CacheFactory的文档。
WebSQL 或 localstorage
对于大量数据,想要在会话之间存储,可以在大多数浏览器中使用 WebSQL 数据库,或者将其作为文本存储在浏览器中的 localStorage 中。