【问题标题】:Ionic local storage vs using service离子本地存储与使用服务
【发布时间】:2017-06-06 07:22:41
【问题描述】:

我发现自己将来自我的 api 调用的所有数据都放在设备本地存储中,我不确定将内容放在本地存储中还是将它们放在服务中是否重要。什么时候应该使用来自设备的本地存储与使用 Angularjs 服务?

【问题讨论】:

    标签: angularjs ionic-framework ionic angular-local-storage


    【解决方案1】:

    你有点混淆了概念。 对于 angularjs 服务,只要页面不刷新,它们就会持久保存数据,一旦您刷新页面或关闭浏览器选项卡,数据就消失了。

    仅将 Angularjs 服务视为您声明的变量,其范围仅限于浏览器选项卡的生命周期。因此,您可以使用它来存储一些临时标志和值,这些标志和值不会被带到下一个会话。

    然而,说到 localStorage,请将其视为一种数据库。无论您在 localStorage 中存储什么,都将保存在浏览器中,并且可以在多个选项卡和应用程序会话中使用[直到并且除非用户清除浏览器数据]

    由于您使用的是 Ionic 和 Cordova,因此您必须使用 localStorage 来保存用户名和密码等内容,以便用户下次打开您的应用时可以使用它们。请注意,关闭您的应用相当于关闭浏览器选项卡。

    然而,如果您有某些数据在每次用户访问您的应用时都会不断刷新,您可以使用服务来存储它们,以便在应用关闭后立即将其删除。


    比喻地,localStorage --> 次要的、非易失性的存储、angularjs 服务 --> 主要的、易失性的存储。

    【讨论】:

      【解决方案2】:

      存储在本地存储中的数据是持久的。所以,如果你重新加载你的网络应用程序,本地存储中的数据就在那里。本地存储通常限制为 5MB。见this

      服务在内存结构中。因此,如果您将任何东西投入使用,它就会在浏览器的内存中,并且在刷新浏览器时会丢失。

      所以这取决于你需要什么。

      【讨论】:

      • 我正在使用 Ionic,它使用 Cordova 构建移动应用程序。页面永远不会刷新。那么在这些条件下我应该使用哪个?
      【解决方案3】:

      您可以将此本地存储插件用于您的应用。 https://github.com/grevory/angular-local-storage

      【讨论】:

      • 虽然这在理论上可以回答这个问题,it would be preferable 在此处包含答案的基本部分,并提供链接以供参考。
      猜你喜欢
      • 1970-01-01
      • 2019-05-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-02-07
      • 2016-03-05
      相关资源
      最近更新 更多