2016-06-08 38 views
0

我想在用户打开/关闭应用程序时保存检查列表的状态。使用ng-change保存复选框状态AngularJs

这是我第一次在AngularJs/Ionic中使用复选框,我不确定如何操作。

HTML

<ion-checkbox class="recup checkbox-balanced" ng-change="save(0)" ng-model="objc[0]"> 
     Récupéré ton badge 
    </ion-checkbox> 

    <ion-checkbox class="recup checkbox-balanced" ng-change="save(1)" ng-model="objc[1]"> 
     Récupéré ton PC 
    </ion-checkbox> 

    <ion-checkbox class="recup checkbox-balanced" ng-change="save(2)" ng-model="objc[2]"> 
     Visité les locaux 
    </ion-checkbox> 

JS

.controller('prem-jourController', function ($scope, localStorageService){ 

defaultValsJ= [false, false, false, false]; 
var EngObj=localStorageService.get("StoredCheck"); 
if(!EngObj) 
{ 
    $scope.objc=defaultValsJ; 
} 
else { 
    $scope.objc=EngObj; 
} 

$scope.save=function(val) { 

    $scope.objc[val]=!$scope.objc[val]; 
    localStorageService.set("StoredCheck", $scope.objc); 
} 
}); 

的状态保存,但复选框不能点击了,我没有错误。

+0

在这种情况下,复选框不可点击,当你在第二次或当打开的应用程序? –

回答

0

您在保存变更的方式上错了。 每次单击复选框时,它都会更改。保存方法称为模型更改值。模型是双向绑定,所以您的复选框取消选中/再次检查。

这就是为什么你看不到复选框更改状态。

改变这一行来解决:

$scope.objc[val]=!$scope.objc[val];