保存并从angularjs中的本地存储中检索复选框值

时间:2016-07-12 16:14:52

标签: angularjs checkbox ionic-framework local-storage ion-toggle

我有一些问题,在我的Ionic app中使用切换来打开/关闭功能。默认情况下,切换为true,切换时切换为false。

<ion-toggle ng-model="myToggle.checked" ng-change="myToggleChange()">
  Toggle
</ion-toggle> 

使用应用程序时所有工作正常,但如果我关闭应用程序并且在关闭之前切换为false,那么当我的控制器启动时,我再次加载应用程序切换时默认为true。重新加载应用程序后的缓存切换如何在关闭之前有位置? 控制器:

      $scope.myToggleChange = function() {

        if($scope.myToggle.checked == true){
            console.log('Is True', $scope.myToggle.checked);
        }
        if($scope.myToggle.checked == false){
            console.log('Is False', $scope.myToggle.checked);
        }
      };

      $scope.myToggle = { checked: true };

2 个答案:

答案 0 :(得分:2)

解决了10个小时阅读文档和手册)))

  $scope.myToggleItem = localStorage.getItem('check');

    if($scope.myToggleItem){    
      var item = localStorage.getItem('check');  
      $scope.myToggle = {checked: JSON.parse(item)};

    } else {    
      $scope.myToggle = { checked: true };
    }

  $scope.myToggleChange = function() {

    if($scope.myToggle.checked == true){
        console.log('Item', $scope.myToggle.checked);
        localStorage.setItem('check', $scope.myToggle.checked);
    }
    if($scope.myToggle.checked == false){
        console.log('Item', $scope.myToggle.checked);
        localStorage.setItem('check', $scope.myToggle.checked);
    }
  };

答案 1 :(得分:0)

您可以使用localstorage存储此类数据。 https://github.com/gsklee/ngStorage

在您的更改处理程序中,您可以使用

存储值
 $localStorage.myToogleValue = $scope.myToggle

你的控制器可以在开头检查

if ($localStorage.myToogleValue)
    $scope.myToggle = { checked: $localStorage.myToogleValue.checked };
else
    $scope.myToggle = { checked: true };