sessionstorage

Mocking sessionStorage when using jestjs

匿名 (未验证) 提交于 2019-12-03 00:59:01
可以将文章内容翻译成中文,广告屏蔽插件可能会导致该功能失效(如失效,请关闭广告屏蔽插件后再试): 问题: Ok, so I have this simple example React component that interacts with sessionStorage : //App.jsx var React = require('react/addons'); var App = React.createClass({ handleSubmit: function (e) { }, handleNameChange: function (e) { sessionStorage.setItem('name', e.target.value); }, render: function () { return ( <form> <input type='text' label='Name' onChange={this.handleNameChange}/> <button type='submit' label='Submit' onClick={this.handleSubmit}/> </form> ); } }); module.exports = App; I've written this test for it using Jest... //App-test

用addRoutes实现动态路由

匿名 (未验证) 提交于 2019-12-03 00:37:01
之前在 基于Vue实现后台系统权限控制 一文中提到路由权限的实现思路,因为不喜欢在每次路由跳转的before钩子里做判断,所以在初始化Vue实例前对路由做了筛选,再用实际路由初始化Vue实例,代价是登录页需要从Vue实例中独立出来,实现上倒没什么问题,不过这种做法需要在登录和首页之间通过url跳转,感觉总是不太”优雅”,实际上只要能在登录后动态修改当前实例的路由就行了,之前确实没办法,但vue-router 2.2版本新增了一个 router.addRoutes(routes) 方法,让动态路由得以实现。 用动态路由实现路由权限控制貌似是一个完美的方案,初始路由只有登录和404,登录后动态添加可用路由,同时将菜单数据保存到Vuex或本地用于实现动态菜单,关键节点大致如下: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 //初始路由: [{ path: '/login', name: 'login', component: (resolve) => require(['../views/common/404.vue'], resolve) }, { path: '/404',

vue 本地存储数据 sessionStorage

匿名 (未验证) 提交于 2019-12-03 00:33:02
在vuex 下的 action下的userAction.js中 添加 export function login ( from , self ) { axPost (‘/ api / login ‘, from , function ( res ) { if ( res . data == 0 ) { alert ( "账号密码错误" ) } else { note . commit (‘ userloginbean ‘, res . data ); self . $router . push ( "/" ); sessionStorage . setItem ( "name" , res . data . name ); } // }, function ( err ) { alert ( err ); }); } ע sessionStorage . setItem ( "name" , res . data . name ); HTML 5 Web 存储在客户端临时存储数据 2.在要跟行的数据中例如heade.vue中 <div class = "site-nav-sign" v-if = "items.name" > <router-link to = "/login" ><a href = "" > {{items.name}} </a></router-link>

sessionStorage存储

匿名 (未验证) 提交于 2019-12-03 00:28:02
简单说明 ( 1 )在存储用户数据的时候,因为cookie可以存储的数据比较小才 4 KB左右 所以也可以考虑使用sessionStorage来存储,大小限制为 2 M左右 ( 2 )该技术和localStorage是h5推出的,因此在使用的时候,需要考虑到兼容性的问题 ( 3 )相关资料:http://www .w 3school .com .cn /html5/html_5_webstorage .asp ( 4 )简单介绍和使用: 001 sessionStorage:会话存储技术(session-会话) 002 该技术和cookie一样,一样浏览器退出了,那么保存的数据就会 003 演示sessionStorage技术的相关操作 添加|获取|更新|删除|清空 示例代码 < input type = "text" > < button class = "btn1" > 添加 </ button > < button class = "btn2" > 获取 </ button > < button class = "btn3" > 更新 </ button > < button class = "btn4" > 删除 </ button > < button class = "btn5" > 清空 </ button > < script > window

【Vue】vuecli父向子传递数据,并且通过sessionStorage保存当前状态

匿名 (未验证) 提交于 2019-12-03 00:27:02
下图部分打码(职业操守),点击产业时会有一个下拉并且底部会有一个黄色线条,选择对应的选项,跳转到对应产业的分类页面 这里导航栏是一个组件,中间内容也是一个组件,里面包含了1,2,3三个板块,是通过 v-if 判断显示,所以需要通过 父传值到子组件 中来判断是选择的是哪一个产业。而且这时候如果你刷新了的话,值会恢复到默认值,底部分黄线就会跑到第一个首页的下面,下面也是一样黄线会跑到1号下面 下面我写了一个demo(样式没有过多修饰): 结构: 1:按钮一,二,三对应上面的产业的下拉选项 2:list 一,二,三对应下面的1,2,3三个板块 3:第一,第二,第三・・・等等就是所属板块的内容了 1:选择对应按钮,显示对应list内容 2:刷新后保存当前状态,显示的还是当前内容,.active样式也是一样 父组件: < template > < div class = "hello" > < button @ click = "goto(0)" :class = "[msg === 0 ? 'active':'']" > 按钮一 </ button > < button @ click = "goto(1)" :class = "[msg === 1 ? 'active':'']" > 按钮二 </ button > < button @ click = "goto(2)" :class

返回上一页100个商品的位置

匿名 (未验证) 提交于 2019-12-03 00:26:01
<body onload = ' zhixing () ' > <div class = "content infinite-scroll infinite-scroll-bottom {$style2}" style = " margin - bottom : 0 ; " id = "gundongwei" onscroll = " KeepScrollBar () " > <script type = "text/javascript" > function KeepScrollBar () { var height = document . getElementById ( 'gundongwei' ). scrollTop ; setCookie ( "height{$cate_id}" , height , 1000 * 10 * 60 ); var xianshi = document . getElementById ( 'gundongwei' ). innerHTML ; sessionStorage . setItem ( "gundongweizhi{$cate_id}" , xianshi ); } function zhixing (){ if ( sessionStorage . getItem ( "gundongweizhi{$cate_id}" )

seesionstorage

匿名 (未验证) 提交于 2019-12-03 00:22:01
前言:   因最近移动端开发过程中遇到一个运营提出的所谓技术难点需求,对于原生APP来说轻而易举,毕竟自己的APP用户操作指哪打哪,但是H5该怎么做?H5就实现不了么?对于一个爱研究攻克这些前端棘手问题的我来说,我没尝试过,我是拒绝对提出需求者说实现不了,做不到之类的。   是什么需求呢?--需求方要求用户在一个列表页浏览时,点击一个列表进入详情页,返回要求记录用户刚刚浏览的位置,而不是重新刷新页面到了页面顶部。(ps:如果用户好不容易翻到了第几十、几百乃至几千条时,难道要用户再重头开始?可能这个时候跳出率就高了,这个分析的确挺有道理,无力反驳...)。   那么开始脑洞大开了,当时脑子里出来各种解决方案:   1、将浏览时的滚动位置存到cookie里,进到这个页面再取。那多久销毁呢?好像不灵活...pass   2、将详情页通过ifram或者弹框方式引到当前页,通过操作关闭当前弹窗(那么在已经完成的页面上再重构,加操作按钮?那么加载效率和体验呢?...反正不看好)   3、将浏览时的滚动位置传到服务器端,加载页面时,根据用户来取最后浏览的位置,各种参数传来调去(跟方案一很类似)   4、通过H5本地存储的方式将数据存起来,需要时取值(没啥经验,先研究一下吧,好像挺靠谱)     接下来先了解一下什么是本地存储吧!    简介:    HTML5 web 存储

axios 拦截以及 API简单配置(element)

匿名 (未验证) 提交于 2019-12-03 00:15:02
在某些情况下,有时候会在接口请求的API中需要拿到存在浏览器中的COOKIE,调用的方式可以为: // 获取浏览器Cookie function getCookie(cname) { var name = cname + "="; var decodedCookie = decodeURIComponent(document.cookie); var ca = decodedCookie.split(';'); for(var i = 0; i <ca.length; i++) { var c = ca[i]; while (c.charAt(0) == ' ') { c = c.substring(1); } if (c.indexOf(name) == 0) { return c.substring(name.length, c.length); } } return ""; } 在axios请求中,需要在发送前和发送后进行简单的设置拦截: // 添加一个响应拦截器 Axios.interceptors.request.use((config) => { let account = sessionStorage.account; let token = sessionStorage.token; // if(config.url == Axios.bullRanking){ /

sessionStorage 应用在项目需求中

匿名 (未验证) 提交于 2019-12-03 00:11:01
用法 保存数据语法: sessionStorage . setItem ( "key" , "value" ); 读取数据语法: var lastname = sessionStorage . getItem ( "key" ); 删除指定键的数据语法: sessionStorage . removeItem ( "key" ); 删除所有数据: sessionStorage . clear (); 项目需求 项目中,有列表页,列表页中有搜索栏。列表页中还有新建,编辑等等跳转的页面。 现在需要在新建或编辑后,返回列表页后搜索栏中仍然有之前所填写的内容。 实现思路 1.在新建或编辑跳转前,保存当前的内容到sessionStorage 2.因为点击新建/编辑完成后会默认跳转回之前的列表页 当进入列表页时,获取之前存入的sessionStorage 3.获取到sessionStorage后,立即将其删除 之前还在考虑如果切换到别的列表页,会不会获取到当前列表页的数据。实际是不会的,因为新建/编辑完成后,默认就会回到当前的列表页,获取到sessionStorage后,就立即删除sessionStorage。 更好的回填解决办法 更好的办法,我觉得就是把新建和编辑写成弹窗modal的样式,不进行跳转页面,这样既省了页面,也避免了因为需求导致的问题。前提是项目的需求允许进行这样的新建和编辑。

vue sessionStorage 用法

匿名 (未验证) 提交于 2019-12-03 00:09:02
存储数据: sessionStorage . setItem ( "loginInfo" , JSON . stringify ( bdata )); 取数据 var loginObj = JSON . parse ( sessionStorage . getItem ( 'loginInfo' )); 来源:51CTO 作者: 小小―米粒 链接:https://blog.csdn.net/weixin_41472431/article/details/101030410