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. ...
随机推荐
- [android开放篇] wifi-direct接口网址
http://www.android-doc.com/guide/topics/connectivity/wifip2p.html
- 九度oj 题目1534:数组中第K小的数字
题目描述: 给定两个整型数组A和B.我们将A和B中的元素两两相加可以得到数组C. 譬如A为[1,2],B为[3,4].那么由A和B中的元素两两相加得到的数组C为[4,5,5,6]. 现在给你数组A和B ...
- post 发送ajax请求
1.ajax五步曲 <!DOCTYPE html> <html lang="en"> <head> <meta charset=" ...
- P1140 相似基因 (动态规划)
题目背景 大家都知道,基因可以看作一个碱基对序列.它包含了4种核苷酸,简记作A,C,G,T.生物学家正致力于寻找人类基因的功能,以利用于诊断疾病和发明药物. 在一个人类基因工作组的任务中,生物学家研究 ...
- zoj 3812 We Need Medicine (dp 状压)
先贴一下转载的思路和代码,,,:http://blog.csdn.net/qian99/article/details/39138329 状压dp博大精深啊,以后看到n<=50都可以往状压上想, ...
- (10) android控件-date
1.TimePicker <TimePicker android:id="@+id/timePicker4" android:layout_width="wrap_ ...
- Windows下使用Nexus搭建Maven私服(使用)
注意: 1.从3.0版本的Nexus开始,已经不再缓存https://repo1.maven.org/maven2/的包,所以当安装好之后,在界面上不会有任何的包可以搜索到,但是功能是一切正常的,只有 ...
- 用 jQuery实现图片等比例缩放大小
原文:http://www.open-open.com/code/view/1420975773093 <script type="text/javascript"> ...
- JSONKit升级XCODE后报一堆警告解决办法
虽然我已经该用apple自己的json解析了,但是对于需要兼容低版本的,还是需要用第三方的, 目前用的最多的就有JSONKit了,包括微博sdk,但是一编译报一堆警告,看着很不爽.可以自己手动一个个修 ...
- 一个球,初始高度100,每次落下回弹一半高度,求第n次落下球走的距离
def get_height(n): if n==1: eturn 150 return 100+sum([200*pow(0.5,i) for i in range(1,n)])+100*pow(0 ...