sessionstorage

Vue - 组件

匿名 (未验证) 提交于 2019-12-02 23:56:01
Ŀ¼ 获取自定义成员和methods时,用 $options.成员 来获取, <div id="app"> <h1 @click="btnClick">{{ msg }}</h1> <p>{{$data}}</p> <p>{{$options}}</p> <p>{{$options.myarr}}</p> </div> <script> let app = new Vue({ el: '#app', data: { msg: '数据' }, methods: { btnClick() { console.log(this.msg) } }, myarr: [1, 2, 3, 4] }); console.log(app.msg); console.log(app.$data); console.log(app.$options.methods); console.log(app.$options.myarr) </script> <div class="app"> <p v-pre> <!--v-pre的内部解除vue控制,都是原义输出:插值表达式不是插值表达式,变量也不是变量,vue指令也只是普通的属性--> {{msg}} <span v-on="abc"></span> </p> </div> <script> new Vue({ el: '#app', data: {

Vue页面间传值,以及客户端数据存储

匿名 (未验证) 提交于 2019-12-02 23:39:01
初学Vue,遇到了页面传值的问题,大概网上学习了解了一下,在此跟大家分享一下学习心得,欢迎批评指正。 一.参数传值 如果是简单的页面传值,比如传一个id到详情页等等,推荐使用参数传值。 这里页面是通过路由跳转的,所以参数传值有两种方法,也就是借助$router的两个参数【params】和【query】。 页面跳转的话,可以通过页面路由的名称name或路径path去定义目标页面。 定义一个v-on:click="turnToPost(item.id)” 方法,进行页面跳转和传值。 传值页面: <template> <div> <el-card class="post-card" v-for="item in postList" v-bind:key="item.id" v-on:click="turnToPost(item.id)"> ………… </el-card> </div> </template> <script> export default { data() { return { postList: [ { id: 1, title: "I’ll think of you every step of the way.", time: "JANUARY 05, 2019", content: "Time goes by so fast, people go in and

sessionstorage 增删改查

匿名 (未验证) 提交于 2019-12-02 23:36:01
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/Rainbow1995/article/details/90675942 sessionstorage 经常被前端用来存储一些数据,对数据的处理一般就是增删改查, 增加和修改 window.sessionStorage.setItem('名称', '数据内容') 为什么把增加和修改归为一类,因为对于 sessionStorage 的修改也是通过再次 setItem 来进行的 删除单个数据 window.sessionStorage.removeItem('名称') 删除所有数据 window.sessionStorage.clear() let content = window.sessionStorage.getItem('名称') let content = window.sessionStorage.key(index) 本文是个人的理解,如有不妥,请赐教 文章来源: https://blog.csdn.net/Rainbow1995/article/details/90675942

页面存储计数器,刷新页面继续计数

匿名 (未验证) 提交于 2019-12-02 23:32:01
版权声明:欢迎大牛指正错误 https://blog.csdn.net/wangjunren1/article/details/90259528 <span id = "span1" class = "footer_left" ></span> function sitnumber() { var t = setInterval(function () { if (typeof (Storage) !== "undefined") { if (sessionStorage.clickcount) { sessionStorage.clickcount = Number(sessionStorage.clickcount) + 1; } else { sessionStorage.clickcount = 1; } if (sessionStorage.clickcount == 181) { // alert("dao10le") clearInterval(t); sessionStorage.clear() return; } else { document.getElementById("span1").innerHTML = sessionStorage.clickcount; } } }, 1000); } chakan() function chakan() { var

关于localStorage和sessionStorage

不羁的心 提交于 2019-12-02 23:25:35
一,什么是Storage Storage是web Brower储存数据到本地的一种方式,其数据以键值对的形式储存在本地服务器web storage中。Storage分为sessionStorage和localStorage。 sessionStorage:临时存储,为每一个数据源维持一个储存区域,在浏览器打开和加载页面的过程中存在。 localStorage:长期存储,为每一个数据源维持一个储存区域,在浏览器中长期存在,除非手动清除。 sessionStorage的有效期是浏览器的会话时间,当浏览器关闭时,sessionStorage会自动清除,作用域包括窗口,协议,主机,端口。localStorage的有效期是永久的,作用域包括协议,主机,端口。储存大小都为5M。 二,storage的用途 用于浏览器端存储数据,存储一些很常用但是不是很重要或者说不是很私密的数据。可以减少http请求,达到优化效果。 三,如何使用 Storage中有web Storage Api给我们调用。sessionStorage和localStorage的使用方法是一样的。注意:在引用类型是要把值转化为Json。 1,保存数据 如下有两组数据: 2,获取 3,删除 4,监听 5,浏览器中如何去查看 来源: https://www.cnblogs.com/mahmud/p/11767099.html

js 前端请求头里传 token

為{幸葍}努か 提交于 2019-12-02 21:50:20
参考: https://blog.csdn.net/qq_34309704/article/details/80572077 1、Token:token是客户端频繁向服务器端请求数据,服务器频繁的去数据库查询用户名和密码进行对比,判断用户名和密码正确与否,并作出相应的提示,在这样的背景下,token便应运而生了。 2、使用token的目的:token的目的是为了减轻服务器的压力,减少频繁的查询数据库。 3、在前端请求后台的API接口的时候,为了安全性,一般需要再用户登录成功之后才能发送其他请求。 因此,在用户登录成功之后,后台会返回一个token给前端,这个时候我们就需要把token暂时保存在本地,每次发送请求的时候需要在header里边带上token(无需再次带上请求名和密码),这个时候本地的token和后台数据库中的token进行一个验证,如果两者一致,则请求成功,否则失败。 4、如何使用token? ①使用设备号/设备mac地址作为token(推荐) 客户端:客户端在登录的时候获取设备的设备号/mac地址,并将其作为参数传递到服务器端 服务器:服务器接收到该参数之后,使用一个变量接收同时将其作为token保存数据库,并将该token设置在session中,客户端每次请求的时候都要统一拦截,并将客户端传递的token和服务器session中的token对比,如果相同则放下

vue 验证登录及跳转检验

ⅰ亾dé卋堺 提交于 2019-12-02 14:51:35
Vue管理系统的登录。 首先,一个登录的组件Login.vue,请求校验用户名密码是否正确,若正确,将用户名与密码保存至store中的state中。 然后,在访问每个页面判断state中是否有登录信息,若没有,跳转到登录页,采用的是router.beforeEach() 主要代码: 从页面上获取到用户名,密码后,点击登录按钮,执行以下函数 loginCheck () { // accout为页面获取的登录信息 var name=this.account.username; //保存的密码 var pass=this.account.password; // 判断是否为空 if(name==''||name==null){ this.$alert('请输入正确的用户名') return }else if(pass==''||pass==null) { this.$alert('请输入正确的密码') return } let para = { login_name: name } // 调接口,检验登录,在这里用了将所有接口服务写入了api.js里,若没有直接axios.get(路由,参数) this.$api.get_user_login_info(para) .then(res => { console.log(res.data.data) if (res.data.data

vuex 和localstroage的区别

拈花ヽ惹草 提交于 2019-12-02 03:12:42
sessionStorage和localStorge在某种场合是可以代替vuex的,例如你只需要一个数据和状态存储的仓库,sessionStorage和localStorge是浏览器提供给你的读写数据的API,只能对数据进行简单的读写,而且只能操作字符串,它并不能异步操作;vuex是状态管理库,侧重在管理,可以通过世间对数据处理,可以用模块的思想来管理代码,但是比较繁琐冗余。 其实两者并不冲突,还可以相辅相成,一般大型的项目会将两者配合使用。如果你的项目足够简单,你就不需要vuex,一个even bus也可以满足,或者sessionStorage和localStorge再加emit和on也可以满足。 来源: https://www.cnblogs.com/lieaiwen/p/11728179.html

vue面试

早过忘川 提交于 2019-12-01 20:21:49
第一部分: 1、active-class是哪个组件的属性?嵌套路由怎么定义? 答:vue-router模块的router-link组件。 2、怎么定义vue-router的动态路由?怎么获取传过来的动态参数? 答:在router目录下的index.js文件中,对path属性加上/:id。 使用router对象的params.id 3、vue-router有哪几种导航钩子? 答:三种,一种是全局导航钩子:router.beforeEach(to,from,next),作用:跳转前进行判断拦截。第二种:组件内的钩子;第三种:单独路由独享组件 4、scss是什么?安装使用的步骤是?有哪几大特性? 答:预处理css,把css当前函数编写,定义变量,嵌套。 先装css-loader、node-loader、sass-loader等加载器模块,在webpack-base.config.js配置文件中加多一个拓展:extenstion,再加多一个模块:module里面test、loader 4.1、scss是什么?在vue.cli中的安装使用步骤是?有哪几大特性? 答:css的预编译。 使用步骤: 第一步:用npm 下三个loader(sass-loader、css-loader、node-sass) 第二步:在build目录找到webpack.base.config.js

pc vue 项目中的菜单权限控制

大兔子大兔子 提交于 2019-12-01 16:16:27
在pc 管理系统这种类型的产品,通常会涉及到账号权限的控制,不同的账号权限能浏览的功能模块是不同的,对应侧边栏菜单模块的显示也会不同。 场景一、(电商类管理系统) 登录 登录后,依次获取账号 tokenId、店铺列表、默认店铺ID、菜单列表 通过菜单列表生成侧边栏,注意router 文件里面定义了全部的页面路由,所以配置新菜单时候需要提供给后端前端定义的页面路径 menuList 数据存起来,可以存在 vuex、sessionStorage,这个数据可以用于router 里面非白名单页面的拦截比对,如果访问当前账号无权限的页面,可将其跳转 404 页面 在路由卫士里面拦截检查 场景二、(电商类单点登录系统) 单点登录类系统,通常会多个项目公用一套登录系统,项目首页直接就是dashboard 或者 index页面,菜单权限数据会放在项目初始化时候通过登录系统返回的 tokenID(可以存放到cookie) 来请求接口获取,然后存到 sessionStorage ,到这里可能会有个问题,每次刷新页面时候都会重复请求这个接口,是没必要的,可以定义一个登录状态标识符,第一次登录成功后就做一个标识,之后项目页面刷新时候不再进行菜单权限接口请求,退出或者tokenID 过期失效时候,进行重置。 同样在路由卫士这样的地方进行跳转路径检查,白名单放行,无权限地址导到 404。 场景三、(关于