vuex结合vue-cookies的使用
一、创建vuex
import Vue from 'vue'
import Vuex from 'vuex'
import cookie from "vue-cookies" Vue.use(Vuex) export default new Vuex.Store({
state: {
//从cookie中取
username: cookie.get("name"),
token: cookie.get("token"),
date:cookie.get("date") },
mutations: {
savetoken: function (state, data) {
//赋值
// console.log(data);
state.username = data.name;
state.token = data.token;
//写入cookie
cookie.set("name", data.name);
cookie.set("token", data.token);
},
cleartoken: function () {
cookie.set("name", "");
cookie.set("token", "")
}, savedate:function (state,date) {
console.log(date)
state.date=date;
cookie.set("date",date)
},
cleardate:function () {
cookie.set("date","")
}, },
actions: {}
})
二、组件中使用
<script>
export default {
name: 'login',
data: function () {
return {
form: {
name: '',
pwd: '',
date1: '',
repwd: '',
}
}
},
methods: {
login: function () {
var _this = this.form;
this.$ajax.request({
url: _this.$url + "login/",
method: "post",
data: {name: _this.name, pwd: _this.pwd}
}).then(function (res) {
console.log(res.data);
if (res.data.status == 100) {
_this.$store.commit("savetoken", res.data)
}
else {
alert(res.data.msg)
}
})
},
savedata: function () {
var _this = this;
if (_this.form.date1) {
_this.$store.commit("savedate", _this.form.date1)
}
}
},
mounted() {
var _this = this;
if (_this.$store.state.date) {
_this.form.date1 = _this.$store.state.date
_this.$store.commit("cleardate")
}
}
}
</script>
<template>
<div class="course">
<h1>登入页面</h1>
<el-form label-width="100px"
class="col-lg-4 col-lg-offset-4">
<el-form-item label="用户名">
<el-input v-model="form.name"></el-input>
</el-form-item>
<el-form-item label="密码">
<el-input type="password" v-model="form.pwd"></el-input>
</el-form-item> <el-form-item>
<h4 v-if="!form.pwd&&!form.name" style="color: red;">请输入用户名和密码:</h4>
</el-form-item> <el-date-picker type="date" placeholder="选择日期" v-model="form.date1" style="width: 100%;"
@input="savedata"></el-date-picker> <el-form-item>
<a href="/course">
<el-button type="primary" @click="login">提交</el-button>
</a>
</el-form-item> </el-form> </div>
</template>
vuex结合vue-cookies的使用的更多相关文章
- 【翻译】使用Vuex解决Vue中的身份验证
翻译原文链接:https://scotch.io/tutorials/handling-authentication-in-vue-using-vuex 我的翻译小站:https://www.zcfy ...
- vuex 实现vue中多个组件之间数据同步以及数据共享。
http://pan.baidu.com/s/1hrJfpli demo下载地址 前言 在一些项目中有很多数据状态之间要实现数据共享状态共享,例如购物车的数据.用户的登录状态等等.vue父元素是可以 ...
- vuex(vue状态管理)
vuex(vue状态管理) 1.先安装vuex npm install vuex --save 2.在项目的src目录下创建store目录,并且新建index.js文件,然后创建vuex实例,引入 ...
- Vuex 注入 Vue 生命周期的过程
首先我们结合 Vue 和 Vuex 的部分源码,来说明 Vuex 注入 Vue 生命周期的过程. 说到源码,其实没有想象的那么难.也和我们平时写业务代码差不多,都是方法的调用.但是源码的调用树会复杂很 ...
- vuex bug & vue computed setter
vuex bug & vue computed setter https://vuejs.org/v2/guide/computed.html#Computed-Setter [Vue war ...
- vueX、vue中transition的使用、axios
引入一篇好文章链接:看一遍就会的vuex文章;完!!! vue中transtion的使用:transition文章;完!!! axios的文章:axios;完!!!
- 5分钟带你入门vuex(vue状态管理)
如果你之前使用过vue.js,你一定知道在vue中各个组件之间传值的痛苦,在vue中我们可以使用vuex来保存我们需要管理的状态值,值一旦被修改,所有引用该值的地方就会自动更新,那么接下来我们就来学习 ...
- VueX(vue状态管理)简单小实例
VueX:状态管理 Vuex 是一个专为 Vue.js 应用程序开发的状态管理模式.它采用集中式存储管理应用的所有组件的状态,并以相应的规则保证状态以一种可预测的方式发生变化. 核心模块:State. ...
- vuecli脚手架+vue+vuex实现vue驱动的demo。
哎呀呀呀,现在大家都要会Vue || React,否则感觉跟这个前端的世界脱节了一样. start: vue-cli这个构建工具大大降低了webpack的使用难度,支持热更新,有webpack-de ...
- Vue框架(四)——路由跳转、路由传参、cookies、axios、跨域问题、element-ui模块
路由跳转 三种方式: $router.push / $router.go / router-link to this.$router.push('/course'); this.$router.pus ...
随机推荐
- 2019 牛客多校第六场 B Shorten IPv6 Address
题目链接:https://ac.nowcoder.com/acm/contest/886/B 题目大意 给定一个 128 位的二进制 ip 地址,让你以 16 位一组,每组转成 16 进制,用冒号连接 ...
- [MtOI2019]幽灵乐团
题目 一个很暴力的辣鸡做法 考虑到两个数的\(\gcd\)是所有质数次幂取\(\min\),两个数的\(\rm lcm\)是所有质数次幂取\(\max\),于是最后的答案一定是\(\prod p_i^ ...
- sparkStreaming结合SparkSql实例
SparkSQL结合SparkStreaming的使用 Flume+Kafka+SparkStreaming已经发展为一个比较成熟的实时日志收集与计算架构,利用Kafka,即可以支持将用于离线分析的数 ...
- iOS开发系列-iOS适配
概述 发布iPhone X 系统版本为iOS11, 由于刘海屏原因需要对新的机型做适配. iPhone X safeArea iOS11苹果提出safeArea替代iOS7引入 topLayoutGu ...
- [JZOJ3235] 数字八
题目 题目大意 给你一个二维的图,其中.代表完好,*代表有缺陷. 现在要在图上刻一个数字\(8\),满足: 由两个矩形组成. 每个矩形中必须有空隙在内部,也就是说,至少为\(3*3\)的矩形. 上矩形 ...
- chrome的驱动安装
首先找到对应的chromedriver,百度搜索,http://npm.taobao.org/mirrors/chromedriver/ 将下载好的chrome驱动解压,放在/usr/loacl/bi ...
- 校园商铺-1开发准备-3 Eclipse与maven的联合配置
1. JDK安装地址: 2.maven安装地址: 3.maven配置 注意:settings.xml文件极容易出现格式错误 4.tomcat修改端口 我本地启动了其他服务,占用了8080端口,因此需要 ...
- SQL Server Management Studio 的账号密码
使用“Windows身份验证”方式无法登陆 使用“SQL Server身份验证” 方式无法登陆 解决办法:关闭当前所有服务.通过[Microsoft SQL Server 2008]|[配置工具]|[ ...
- Mysql中“select ... for update”排他锁(转)
原帖地址 https://blog.csdn.net/claram/article/details/54023216 Mysql InnoDB 排他锁 用法: select … for update; ...
- 用VC生成 IDispatch 包装类
1.创建包装类:View->ClassWizard->Add Class->Add Class From ActiveX Control Wizard 2 .选中Registry 3 ...