我发现自己将我的 api 调用中的所有数据都放在设备本地存储中,我不确定将东西放在本地存储中还是将它们放在服务中是否重要。什么时候应该使用来自设备的本地存储与使用 Angularjs 服务?
3 回答
你有点混杂了概念。当涉及到 angularjs 服务时,只要页面不刷新,它们就会持久保存数据,一旦您刷新页面或关闭浏览器选项卡,数据就消失了。
将 Angularjs 服务视为您声明的变量,其范围仅限于浏览器选项卡的生命周期。因此,您可以使用它来存储一些临时标志和值,这些标志和值不打算结转到下一个会话。
然而,当谈到 localStorage 时,将其视为一种数据库。无论您在 localStorage 中存储什么,都将保存在浏览器中,并且可以在多个选项卡和应用程序会话中使用 [直到并且除非用户清除浏览器数据]。
由于您使用的是 Ionic 和 Cordova,因此您必须使用 localStorage 来保存用户名和密码等内容,以便用户下次打开您的应用程序时可以使用它们。请注意,关闭您的应用程序等同于关闭浏览器选项卡。
然而,如果您有某些数据在每次用户访问您的应用时都会不断刷新,您可以使用服务来存储它们,以便在应用关闭后立即将其删除。
打个比方,localStorage --> 二级,非易失性存储,angularjs 服务 --> 初级,易失性存储。
存储在本地存储中的数据是持久的。所以,如果你重新加载你的网络应用程序,本地存储中的数据就在那里。本地存储通常限制为 5MB。看到这个
服务在内存结构中。因此,如果您将任何东西投入使用,它就会在浏览器的内存中,并且在刷新浏览器时会丢失。
所以这取决于你需要什么。
您可以将此本地存储插件用于您的应用程序。https://github.com/grevory/angular-local-storage