Reputation: 178
I have an local storage like this :
localStorage.setItem("memberdata", JSON.stringify($scope.products));
$scope.listdata= localStorage.getItem("memberdata");
if($scope.listdata){
$scope.listdata = JSON.parse($scope.listdata)
}else {
localStorage.setItem("memberdata", JSON.stringify($scope.products));
}
$scope.products
contains the following JSON data :
{
"member_id": 54,
"first_name": "Hima",
"middle_name": "Ganapathy",
"last_name": "Hegde",
"joining_date": "2017-28-04",
"phone": 7411556977,
"password": "1234",
"mail": "[email protected]",
"system_date": "Apr 28, 2017 2:26:33 PM",
"society_id": 10,
"role": [
{
"role_id": 4,
"name": "User",
"details": "text"
}
],
"associated": [
{
"associated_id": 1,
"associated_name": "Parent",
"primary_member_id": 1
}
],
}
In my view if I alert I get all thee JSON data tats right.
alert(localStorage.getItem("memberdata"));
I tried to print member name only but not working. Even thow I putted listdata in $scope of my controller.
{{listdata.first_name}} // Working but deleting when page refreshes
Upvotes: 0
Views: 1890
Reputation: 27192
Your code is working fine. The only thing is that provided JSON
is not a valid JSON
.
JSON Validator screenshot :
Upvotes: 0
Reputation: 12093
You need to parse the JSON
$scope.listdata= JSON.parse(localStorage.getItem("memberdata"))
console.log($scope.listdata.first_name);
Edit.
It will not work
$scope.listdata = localStorage.setItem("memberdata", angular.toJson($scope.products));//wrong
You need to stringify JSON before saving it to localstorage.
Like this:
localStorage.setItem("memberdata", JSON.stringify($scope.products));
Edit 2:
Do like this:
$scope.listdata= localStorage.getItem("memberdata");
if($scope.listdata){
$scope.listdata = JSON.parse($scope.listdata)
}else {
localStorage.setItem("memberdata", JSON.stringify($scope.products));
}
Upvotes: 2
Reputation: 213
Try something like this:
var localListdata = localStorage.memberdata;
if (localListdata ) {
console.log("true")
$rootScope.localListdata = JSON.parse(localListdat);
} else {
console.log("null")
}
Upvotes: 0
Reputation: 213
Try this one
var localMemberdata = localStorage.memberdata;
$rootScope.localMemberdata = JSON.parse(localMemberdata);
In View
{{ localMemberdata.first_name }}
if this correct please check it as answer but I'm sure 100% work well
Upvotes: 0