簡體   English   中英

使用ng-change AngularJs保存復選框狀態

[英]Saving checkbox state using 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);
}
});

狀態已保存,但是復選框不再可單擊,並且我沒有錯誤。

保存更改的方式有誤。 每次單擊復選框時,它都會更改。 方法保存稱為然后更改模型值。 模型是雙向綁定,因此您的復選框處於取消選中/再次選中狀態。

這就是為什么您看不到復選框更改狀態的原因。

更改此行以修復:

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM