/ / zapisywanie i pobieranie zapisanych wartości pól wyboru z pamięci lokalnej w angularjs - angularjs, cordova, local-storage, onsen-ui

zapisywanie i pobieranie zapisanych wartości pól wyboru z lokalnego magazynu w angularjs - angularjs, cordova, local-storage, onsen-ui

Jestem nowy w angularjs i phonegap. Próbuję zbudować aplikację, w której na stronie użytkownik może wybrać kategorię spośród powiedzmy 9 kategorii. Umieszczam pole wyboru obok nazwy każdej kategorii, aby użytkownik mógł wybrać kategorie. Po wybraniu kilku kategorii (poprzez zaznaczenie odpowiednich pól wyboru) użytkownik może nacisnąć przycisk Zapisz, aby zapisać kategorie. Moje pytanie brzmi: jak zapisać wszystkie te kategorie i jak je odzyskać?

To jest kod, który do tej pory miałem

<!--html code --> <!-- the items here the titles of the categories pulled from a data.js file-->
<div ng-repeat="row in items | partition:3">
<div ng-repeat="item in row"">
<input type="checkbox" ng-model="(item.title)">
<div>{{item.title}}</div>

<ons-button modifier="large" ng-click="savecategories()">Ready</ons-button>

/ * kod angularjs * /

 app.controller("categoryController", function($scope) {
$scope.savecategories = function() {
if ($scope.category1)
{
localStorage.setItem("category1", true);
}
else {
localStorage.setItem("category2", false);
if ($scope.category2)
{
localStorage.setItem("category2", true);
}
else {
localStorage.setItem("category2", false);
}

/*and so on */
}
});

Próbowałem sprawdzić, czy to działa, umieszczając ten wiersz kodu, aby otrzymać alert, ale bez powodzenia.

var national = localStorage.getItem("category1");
window.alert(national);

Nie jestem pewien, co robię źle. Każda pomoc będzie mile widziana.

Odpowiedzi:

0 dla odpowiedzi № 1

Dziękuje wszystkim. W końcu to rozgryzłem. Właśnie dodałem funkcję, która jest wywoływana za każdym razem, gdy pole wyboru jest zaznaczone lub niezaznaczone.

<input type="checkbox" ng-model="item.value" name="item.title" ng-change="savecategories()">

W moim pliku js zrobiłem to:

app.controller("HomeController", function($scope, Data, localStorageService) {

$scope.items = Data.items;

if (localStorageService.get("items")) {
$scope.items = localStorageService.get("items");
}

$scope.SaveCategories = function () {
localStorageService.clearAll();
localStorageService.add("items",$scope.items);

}