1

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

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

使用应用程序时一切正常,但是如果我关闭应用程序并且在我再次加载应用程序时关闭之前开关为假,则当我的控制器启动时,默认情况下切换为真。重新加载应用程序后缓存切换如何在关闭前有位置?控制器:

      $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 };
4

2 回答 2

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);
    }
  };
于 2016-07-13T07:52:06.110 回答
0

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

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

 $localStorage.myToogleValue = $scope.myToggle

您的控制器可以在开始时检查

if ($localStorage.myToogleValue)
    $scope.myToggle = { checked: $localStorage.myToogleValue.checked };
else
    $scope.myToggle = { checked: true };
于 2016-07-12T19:39:56.647 回答