3

我正在使用 ngStorage 进行网络存储。

这是我目前用来检查是否$localStorage已定义的代码。

if ( angular.isDefined($localStorage.settings) ) {
    $scope.app.settings = $localStorage.settings;
} else {
    $localStorage.settings = $scope.app.settings;
}

这是我的控制器脚本。

.controller('MainCtrl', function($scope, $localStorage) {

    $scope.app = {
        settings: {
            name: 'AppName',
            headerFixed: true,
            version: 'Initial Release'
        }
    }

    if ( angular.isDefined($localStorage.settings) ) {
        $scope.app.settings = $localStorage.settings;
    } else {
        $localStorage.settings = $scope.app.settings;
    }

    $scope.resetStorage = function() {
        $localStorage.$reset();
    }

})

HTML:

<div class="main-content" ng-controller="MainCtrl" ng-class="{'header-fixed': app.settings.headerFixed}">

        <input type="checkbox" name="name" ng-model="app.settings.headerFixed"> Header Fixed

        {{ app.settings.headerFixed }}

        <button type="button" name="button" ng-click="resetStorage()">Reset</button>

</div>

我正在使用此链接中给出的 rest 方法,但它不起作用。

当我单击调用函数的重置按钮时,有人帮我将值重置为默认值resetStorage()

提前致谢。

4

1 回答 1

0

您应该保留两个变量,一个用于恢复目的。因为我认为没有这样的方法可以恢复到以前的数据。

于 2015-06-23T10:14:48.213 回答