我有一个像这样的本地存储:
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
包含以下 JSON 数据:
{
"member_id": 54,
"first_name": "Hima",
"middle_name": "Ganapathy",
"last_name": "Hegde",
"joining_date": "2017-28-04",
"phone": 7411556977,
"password": "1234",
"mail": "shivam@abinfosoft.com",
"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
}
],
}
在我看来,如果我发出警报,我就会得到所有正确的 JSON 数据。
alert(localStorage.getItem("memberdata"));
我尝试仅打印成员(member)姓名但不起作用。即使我将 listdata 放入 Controller 的 $scope 中。
{{listdata.first_name}} // Working but deleting when page refreshes
最佳答案
您需要解析 JSON
$scope.listdata= JSON.parse(localStorage.getItem("memberdata"))
console.log($scope.listdata.first_name);
编辑。
这是行不通的
$scope.listdata = localStorage.setItem("memberdata", angular.toJson($scope.products));//wrong
在将 JSON 保存到本地存储之前,您需要对其进行字符串化。
像这样:
localStorage.setItem("memberdata", JSON.stringify($scope.products));
编辑2:
这样做:
$scope.listdata= localStorage.getItem("memberdata");
if($scope.listdata){
$scope.listdata = JSON.parse($scope.listdata)
}else {
localStorage.setItem("memberdata", JSON.stringify($scope.products));
}
关于javascript - 如何从 Angular 本地存储获取对象值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43755508/