微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

javascript – 如何在AngularJs中存储和读取会话(值)?

我在存储时遇到麻烦并使用 Angularjs读取会话数据.
单击按钮后,emp_name应存储在会话中,以及如何从会话中读取存储的emp_name.

Sample in plnkr

// Code goes here

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

app.controller('Ctrl',function($scope) {
  $scope.employee = [{
      emp_id: 1,emp_name: 'Jes',emp_cont:9876543445
    },{
      emp_id: 2,emp_name: 'Sandy',emp_cont:3553454345
    },{
      emp_id: 3,emp_name: 'Alex',emp_cont:9343434345
    },{
      emp_id: 4,emp_name: 'Nancy',{
      emp_id: 5,emp_name: 'Scott',emp_cont:9834564455
    }
  ];
  
          $scope.returnRefId = function (emp) {           
            try {
                  //  test emp
                  alert(emp);
                  // session code here
                  
            }
            catch (e) {
                  alert("some errror");
            }
        };
});
ul li{list-style:none;float:left;padding:10px;border:1px solid #ddd;height:20px;width:100px}
ul{clear:both}
label{color:red}
<!DOCTYPE html>
<html>

<head>
  <script data-require="angular.js@*" data-semver="1.3.0-beta.5" src="https://code.angularjs.org/1.3.0-beta.5/angular.js"></script>
  <link rel="stylesheet" href="style.css" />
  <script src="script.js"></script>
</head>

<body ng-app="app" ng-controller="Ctrl">
  <ul ng-repeat="employees in employee | filter:customFilter">
    <li>{{employees.emp_id}} </li>
    <li>{{employees.emp_name}} </li>
    <li>{{employees.emp_cont}} </li>
    <li><button   ng-click="returnRefId(employees.emp_name);" >Add Session</button></li>    
  </ul>
  <br /><br /><br />
  <label id="read_ses">How to store and read emp_name thru only session</label>
</body>

</html>

我使用angularjs在点击时创建了带有emp_name的警报.我希望在按钮单击时,emp_name应该存储在会话中并用于会话测试目的在页面上的某处读取会话的emp_name数据.

任何和所有的帮助/建议是真诚的感谢.
谢谢.

解决方法

使用Javascript API进行会话存储,您的会话存储代码可能看起来像这样.您必须序列化Javascript对象,因为会话存储仅支持字符串.
$scope.returnRefId = function (emp) {           
        try {
              //  test emp
              alert(emp);
              // session code here
              sessionStorage.setItem("emp-key",JSON.stringify(emp));
        }
        catch (e) {
              alert("some errror");
        }
 };

或者,您可以将emp的每个属性存储在单独的存储密钥中.调试应该如此简单

sessionStorage.getItem( “EMP-键”)

有关会话存储的更多信息,请访问此处. https://developer.mozilla.org/en/docs/Web/API/Window/sessionStorage

另请查看ngStorage https://github.com/gsklee/ngStorage

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


什么是深拷贝与浅拷贝?深拷贝与浅拷贝是js中处理对象或数据复制操作的两种方式。‌在聊深浅拷贝之前咱得了解一下js中的两种数据类型:
前言 今天复习了一些前端算法题,写到一两道比较有意思的题:重建二叉树、反向输出链表每个节点 题目 重建二叉树: 输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如输入前序遍历序列 {1,2,4,7,3,5,6,8} 和中序遍历序列 {
最近在看回JavaScript的面试题,this 指向问题是入坑前端必须了解的知识点,现在迎来了ES6+的时代,因为箭头函数的出现,所以感觉有必要对 this 问题梳理一下,所以刚好总结一下JavaScript中this指向的问题。
js如何实现弹出form提交表单?(图文+视频)
js怎么获取复选框选中的值
js如何实现倒计时跳转页面
如何用js控制图片放大缩小
JS怎么获取当前时间戳
JS如何判断对象是否为数组
JS怎么获取图片当前宽高