<div ng-repeat="filterSection in filterSections">
<h4>{{ filterSection.title }}</h4>
<div class="checkbox" ng-click="loaderStart()" ng-if="filterSection.control == 'checkbox'" ng-repeat="option in filterSection.options">
<label>
<input type="checkbox" ng-model="searchParameters[filterSection.key][option.key]" value="{{ option.key }}" checked><span></span> {{ option.value }}
</label>
</div>
</div>
我可以访问它
$scope.searchParameters
。
我可以使用它来存储它
localStorage.setItem('search', JSON.stringify(cleanedParameters));
我可以访问商店
JSON.parse(localStorage.getItem("search"));
但我不知道如何在页面刷新时恢复它。我可以使用一些指令的功能或例子吗?我真的找不到与我的问题类似的东西。
答案 0 :(得分:2)
您可以使用angularJs的LocalStorageService模块。
有关详细信息,请查看此链接https://www.npmjs.com/package/angular-local-storage
答案 1 :(得分:1)
您可以尝试如下所示。只需创建一个数组并将值推入其中。然后您可以通过循环访问该数组值。
var a = [];
a.push(JSON.parse(localStorage.getItem('search')));
答案 2 :(得分:0)
我正在使用ngStorage(抽象出所有JSON解析内容) - http://ngmodules.org/modules/ngStorage
然后在任何地方(在我的控制器,指令,服务中),我注入$localStorage
提供程序,并将存储加载到$scope
:
app.controller("FooCtrl", ["$scope", "$localStorage", function($scope, $localStorage){
$scope.storageStuff = $localStorage.somethingSavedInStorage;
}]);
答案 3 :(得分:0)
我发现我可以毫不费力地将此直接注入$ scope。这个解决方案很好用:$scope.searchParameters=JSON.parse(localStorage.getItem("search"));
我试图自己解析整个事情,但这不值得努力:)
使用$scope.$watch('searchParameters', function (newValue, oldValue)
我检查元素是否已更改,并在LocalStorage中更新它。