【问题标题】:Angularjs refresh and save dataAngularjs刷新并保存数据
【发布时间】:2016-11-01 16:14:05
【问题描述】:

我在一个进行许多计算的应用程序中工作,基本上我实现了一个功能,当用户刷新或 F5 页面时,他不会在当前页面中丢失他的数据,我将数据保存在 localStorage 中,因为数据没有保存在db,angularjs是否有某种我可以使用的存储数据,或者没有更好的解决方案可以使用。 (不使用数据库)。

【问题讨论】:

    标签: javascript angularjs


    【解决方案1】:

    您可以使用以下方式来存储数据:

    1) $localStorage 2) $sessionStorage

    下面是一个简单示例,说明如何在 localStorage 中保存输入字段并在刷新时仍检索值

    <input type="text" ng-model="myValue">
    <button type="button" ng-click="saveData()">Save</button> 
    

    在控制器中:

    //this will execute everytime on refresh
    $scope.myValue = $localStorage.data || null; 
    
    $scope.saveData = function(){
        $localStorage.data = $scope.myValue;
        //similarly $sessionStorage.data can be used
    } 
    

    【讨论】:

    • 感谢 Rahul,最后一个问题,我收到错误“无法在 'Storage' 上执行 'setItem':设置的值超出了配额。”,但奇怪的部分是在第一次加载工作正常,但再次加载后出现此错误,有什么建议吗?
    • 你到底在做什么?您还可以检查资源下的控制台并删除您拥有的所有本地存储。另外,看看这是否可以帮助stackoverflow.com/questions/23977690/local-storage-in-chrome
    【解决方案2】:

    您可以在 localStorage 和 sessionStorage 之间进行选择。

    localStorage 将保留数据,直到您决定以编程方式清除它,或者用户将在浏览器中清除它。

    另一方面,

    sessionStorage 将在浏览器或标签关闭时被清除。有时它是更好的解决方案,因为您无需考虑必须清除 localStorage 的情况。

    【讨论】:

      【解决方案3】:

      你可以使用 localstorage 这个 html5 api

      或者

      如果你想用 Angular 来做,那么你最好通过以下链接

      https://github.com/grevory/angular-local-storage

      http://gregpike.net/demos/angular-local-storage/demo/demo.html

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2016-01-08
        • 1970-01-01
        • 1970-01-01
        • 2014-09-07
        • 1970-01-01
        • 2016-07-12
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多