2016-07-27 2 views
0

Я хочу сохранить текущее состояние флажка и перезагрузить его, когда откроется страница в следующий раз.Как сохранить состояние флажка для локального хранилища с помощью AngularJS?

AngularJS:

var app = angular.module('MyApp', []); 

app.controller('MyController', function ($scope, $window) { 

    var init = function() { 
     $scope.check = $window.localStorage.getItem("app3"); 
    }; 

    init(); 

    $scope.Save = function() { 
     $window.localStorage.setItem("app3", $scope.check); 
    } 

}); 

HTML:

<html ng-app="MyApp" xmlns="http://www.w3.org/1999/xhtml"> 
<head runat="server"> 
    <title></title> 
    <script src="angular-1.4.9.min.js"></script> 
    <script src="app.js"></script> 
</head> 
<body> 
    <div ng-controller="MyController"> 
     <input id="check1" type="checkbox" ng-model="check" /> 
     <input type="button" value="Save" ng-click="Save()" /> 
    </div> 
</body> 
</html> 

ответ

0

Dont использовать JQuery с угловой. Прикрепите ng-модель к вашему ящику ввода так: и вы можете получить доступ к значению ввода в вашем контроллере, используя $ scope.check , то ваш локальный параметр хранения будет таким: $ window.localStorage.setItem ('app3 », $ scope.check); Thats it! Просьба ознакомиться с угловыми учебниками или их документацией, чтобы понять, как угловые работы.

+0

Вы хотите сказать, что мне нужно удалить это: ng-checked = "SetCheckbox()"? – tesicg

+0

да удалите это и поместите ng-model = "check". Если вы присоедините ng-model к элементу ввода. любое введенное значение создаст переменную в вашем контроллере, например $ scope.check .. –

+0

Я сделал это, но заметил, когда установлен флажок $ scope.check, но если он не установлен, то $ scope.check не определен. Регулярно ли сохранять неопределенные данные в локальном хранилище? – tesicg

Смежные вопросы