VUE 之 vuex 和 axios
1、Vuex 部分
1.1 Vuex 是专门为vue.js设计的集中式状态管理架构,其实就是将数据存在一个store中,共各个组件共享使用
1.2 配置:
1.2.1 下载:--npm install vuex
1.2.2 导入:import Vuex(这个名字随便起) from "vuex"
1.2.3 使用:Vue.use(Vuex)
1.2.4 实例化仓库对象:new store({ 属性名(state,getters,mutation)})
import Vue from "vue"
import Vuex from "vuex" Vue.use(Vuex); export default new Vuex.Store({
// this.$store.state.name # 这个store是在Vue根实例中注册的store
state: {
name: "xiaodilei"
},
// this.$store.getters.new_name
getters: {
new_name: function (state) {
return state.name + "爆炸了"
},
new_new_name: function (state, getters) {
return getters.new_name + "duang~~"
}
},
mutations: {
change_data: function (state, data) {
// 自己处理change_data事件的
console.log(state.name)
console.log(data)
state.name = data;
}
}
})
1.2.5 在Vue 根实例中注册sotre
new Vue({
el:"#app",
store
})
1.3 获取vuex中的数据
this.$store.state.属性名
this.$store.getters.属性名
1.4改变vuex中的数据
1.4.1 首先组件要想仓库提交事件
this.$store.commit("事件名称",要修改成的结果)
1.4.2 仓库要处理提交的事件
mutations: {
"事件名称": function(state, data){
修改state中的数据
}
}
2、axios部分
2.1 用来发送ajax请求的
2.2 配置:
2.1 下载:npm install axios
2.2 导入:import axios from 'axios'
2.3 加入原型链:Vue.prototype.$axios = axios
2.3 在组件中发送请求
this.$axios.request({
url:'127.0.0.1',
method:get,
data,
headers
}).then(function(data){}).catch(function(data){})
mounted(){
let that = this; 注意this
this.$axios.request({
url: "http://127.0.0.1:8000/demo",
method: "get"
}).then(function (data) {
// do something~~
that.msg = data.data 这里应该用msg的this
console.log(data)
}).catch(function (data) {
// do something~~
})
// this.$axios.get("url",{}).then().catch()
}
2.4 跨域问题
前后端进行连接的时候,由于url的不同,发送了一个option请求,导致出现跨域问题。
这时需要创建一个中间件来解决这个问题
from django.utils.deprecation import MiddlewareMixin class MyCors(MiddlewareMixin):
def process_response(self, request, response): 自定义一个响应头就可以解决
response["Access-Control-Allow-Origin"] = "*"
return response
VUE 之 vuex 和 axios的更多相关文章
- Vue基于vuex、axios拦截器实现loading效果及axios的安装配置
准备 利用vue-cli脚手架创建项目 进入项目安装vuex.axios(npm install vuex,npm install axios) axios配置 项目中安装axios模块(npm in ...
- day 87 Vue学习六之axios、vuex、脚手架中组件传值
本节目录 一 axios的使用 二 vuex的使用 三 组件传值 四 xxx 五 xxx 六 xxx 七 xxx 八 xxx 一 axios的使用 Axios 是一个基于 promise 的 HT ...
- Vue(5)- axios、vuex
一.内容回顾 1.webpack(前端中工作,项目上线之前对整个前端项目优化) - entry:整个项目的程序入口(main.js或index.js): - output:输出的出口: - loade ...
- day 84 Vue学习六之axios、vuex、脚手架中组件传值
Vue学习六之axios.vuex.脚手架中组件传值 本节目录 一 axios的使用 二 vuex的使用 三 组件传值 四 xxx 五 xxx 六 xxx 七 xxx 八 xxx 一 axios的 ...
- vue全家桶router、vuex、axios
main.js import Vue from 'vue' import App from './App' import router from './router' import store fro ...
- 基于Vue+Vuex+Vue-Router+axios+mint-ui的移动端电商项目
第一步:安装Node 1.打开NodeJS的官网,下载和自己系统相配的NodeJS的安装程序,包括32位还是64位一定要选择好,否则会出现安装问题. 下载地址:https://nodejs.org/e ...
- 记一次vue+vuex+vue-router+axios+elementUI开发(三)
项目用到了状态管理工具 Vuex 中文文档:https://vuex.vuejs.org/zh/guide/ 大家都知道,vue中可用props将父组件的数据传递给子组件,但是有个问题,子组件一般不 ...
- Vue(小案例_vue+axios仿手机app)_Vuex优化购物车功能
一.前言 1.用vuex实现加入购物车操作 2.购物车详情页面 3.点击删除按钮,删除购物详情页面里的对应商品 二.主要内容 1.用vuex加入购物车 (1)在src ...
- Vuex、axios、跨域请求处理和import/export的注意问题
一.Vuex 1.介绍 vuex是一个专门为Vue.js设计的集中式状态管理架构. 对于状态,我们把它理解为在data中需要共享给其他组件使用的部分数据. Vuex和单纯的全局对象有以下不同: 1. ...
随机推荐
- nginx的详解(二)
查看几个设置 nginx正则表达式常用的是前6个 ^: 匹配字符串的开始位置: $:匹配字符串的结束位置:.*: .匹配任意字符,*匹配数量0到正无穷: \. 斜杠用来转义,\.匹配 . 特殊使用方法 ...
- Longge的问题(bzoj 2705)
Description Longge的数学成绩非常好,并且他非常乐于挑战高难度的数学问题.现在问题来了:给定一个整数N,你需要求出∑gcd(i, N)(1<=i <=N). Input 一 ...
- android widgets控件
1.TextView 类似,C#里的lable,显示一段文本 <TextView android:id="@+id/textView2" android:layout_wid ...
- 从Java看数据结构之——树和他的操作集
写在前面 树这种数据结构在计算机世界中有广泛的应用,比如操作系统中用到了红黑树,数据库用到了B+树,编译器中的语法树,内存管理用到了堆(本质上也是树),信息论中的哈夫曼编码等等等等.而树的实现和他的操 ...
- Spring的Bean定义
以下内容引用自http://wiki.jikexueyuan.com/project/spring/bean-definition.html: Bean定义 被称作bean的对象是构成应用程序的支柱也 ...
- Android Studio一些常用的快捷键
光标移动和窗口切换:1.esc:光标从功能窗口回到编辑窗口 2.alt+num:打开指定的功能窗口,重复操作关闭该窗口. 3.alt+←→:切换编辑的文件. 4.ctrl+home/end:跳转到文件 ...
- influxdb的python操作
1.先安装依赖:pip install influxdb 2.
- 十步叫你如何无损修复硬盘锁(mbr病毒)
经常看见有人被锁硬盘 开机以后出现一行红字 FUCK YOU POJIEZHE 等等云云的 这个问题主要还是病毒对Mbr分区的修改造成的 下面我教给大家一个无损数据 无损硬盘 无需重装系统 ...
- Hijacking FM Radio with a Raspberry Pi & Wire
转载:https://null-byte.wonderhowto.com/how-to/hack-radio-frequencies-hijacking-fm-radio-with-raspberry ...
- Tomcat部署项目时出错java.lang.IllegalStateException: ContainerBase.addChild: start:org.apache.catalina.Life
Tomcat部署项目时出错java.lang.IllegalStateException: ContainerBase.addChild: start:org.apache.catalina.Life ...