关闭后如何在离子框架中保存/加载web-app设置?

时间:2015-02-03 07:47:50

标签: android angularjs ionic-framework

我在我的应用程序中设置了背景颜色的设置列表(白色和黑色),当我选择黑色时,背景变为黑色但在关闭应用程序后,它再次变回白色,这是默认颜色。任何人都知道如何在重新打开应用程序时保存设置并加载它?

1 个答案:

答案 0 :(得分:3)

我建议创建一个用于管理应用设置的服务(/ factory):

myApp.factory('SettingsFactory', [function() {

    var _settingsKey = "appSettings",
        defaultSettings = {
            bgColor: #fff
        };

    function _retrieveSettings() {
        var settings = localStorage[_settingsKey];
        if(settings)
            return angular.fromJson(settings);
        return defaultSettings;
    }

    function _saveSettings(settings) {
        localStorage[_settingsKey] = angular.toJson(settings);
    }

    return {
        get: _retrieveSettings,
        set: _saveSettings,
        getBgColor: function() {
            return _retrieveSettings().bgColor;
        }
        setBgColor: function(color) {
            var settings = _retrieveSettings();
            settings.bgColor = color;
            _saveSettings(settings);
        }
    }
}]);

然后在你的控制器中使用它:

myApp.controller('MyCtrl', [$scope, SettingsFactory, function($scope, SettingsFactory) {

    $scope.settings = SettingsFactory.get(); // get settings including bgColor

    $scope.onBgColorChange = function(color) {
        SettingsFactory.setBgColor(color);
    }
}]);