如何在本地存储中保存ngChange
问题描述:
我需要在我的下拉菜单中存储ngchange以保存到localstorage,因此当有人关闭应用时,仍然保存更改。现在一切正常,但当应用程序重新加载时,用户必须再次进行选择。我如何使它起作用?如何在本地存储中保存ngChange
下面是HTML:
<select ng-model="item" ng-options="category.title for category in categories | filter: 234 | filter: {title: '!Federal'} "
ng-change="changedValue(item)" style="text-align: left;">
<option value="" selected="selected">Choose a State</option>
</select>
这里是JavaScript:
$scope.changedValue = function(item) {
$scope.categories.push(item.id);
console.log(item.id);
$localStorage.id = item.id;
console.log($scope.categories);
$scope.categories = $localStorage.categories;
$http.get('http://mywebsite.com/api/get_category_posts/?id=' + item.id).then(
function(data){
$scope.category_posts = data.data.posts;
答
在localStorage的设置项:
localStorage.setItem('selectedOption', JSON.stringify(item));
从localStorage的获取一个项目:
var lastSelected = JSON.parse(localStorage.getItem('selectedOption'));
DEMO
var myApp = angular.module('myApp', []);
myApp.controller("MyCtrl", function($scope) {
$scope.categories = [
{
"title":"uttarakhand",
"name":"uttarakhand"
},
{
"title":"himachal",
"name":"himachal"
},
{
"title":"telangana",
"name":"telangana"
}
];
var lastSelected = JSON.parse(localStorage.getItem('selectedOption'));
if(lastSelected) {
$scope.item = lastSelected;
}
$scope.changedValue = function(item) {
localStorage.setItem('selectedOption', JSON.stringify(item));
};
});
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.4.8/angular.min.js"></script>
<div ng-app="myApp" ng-controller="MyCtrl">
<select ng-model="item" ng-options="category.title for category in categories"
ng-change="changedValue(item)" style="text-align: left;">
<option value="" selected="selected">Choose a State</option>
</select>
</div>
答
如果你想存储在localStorage的东西,那么你可以做到这一点,如下。它应该有一个关键和价值。
localStorage.setItem('category', 'PRODUCTS');
如果您想得到相同的值,请使用该键。根据你的情况,在需要的地方,使用以下行来获取数据回
localStorage.getItem('category');
答
可以在本地存储数据存储为
localStorage.setItem('ID', item.id);
所以,你可以重装为
后得到的数据$scope.categories = localStorage.getItem('ID');