axios和vuex
0.babel
将es6代码转换成各个浏览器都能识别的代码
一.axios
1.官方网站
https://www.kancloud.cn/yunye/axios/234845
2.引用:
(1)cdn
<script src="https://unpkg.com/axios/dist/axios.min.js"></script>
(2)下载到当前项目***
npm install axios
3.用法
(1)get请求
// 为给定 ID 的 user 创建请求
axios.get('/user?ID=12345')
.then(function (response) {
console.log(response);
})
.catch(function (error) {
console.log(error);
}); // 可选地,上面的请求可以这样做
axios.get('/user', {
params: {
ID: 12345
}
})
.then(function (response) {
console.log(response);
})
.catch(function (error) {
console.log(error);
});
(2)post请求
axios.post('/user', {
firstName: 'Fred',
lastName: 'Flintstone' })
.then(function (response) {
console.log(response);
})
.catch(function (error) {
console.log(error);
});
4.使用实例
在main.js中,将Axios挂载到 Vue原型上,每一个子组件都能够使用
import Axios from 'axios' Vue.prototype.$https = Axios Axios.defaults.baseURL = 'https://www.luffycity.com/api/v1/';
二.vuex
作用:组件之间的传值,任何一个组件都能共享state中的数据
下载vuex到该组件:npm i vuex -S
1.vuex商店的创建
在main.js中
import Vue from 'vue'
import App from './App'
import router from './router/index' //1.引入
import Vuex from "vuex"
//2.组件使用要use
Vue.use(Vuex)
//3.创建一个store实例
const store=new Vuex.Store({
state:{},
mutations:{},
actions:{},
}) new Vue({
el: '#app',
router,
//4.挂载store实例
store,
components: { App},
template: '<div><App></App></div>'
})
2.值的使用
<template>
<div class="">
//2.使用
<h3>我是主页,我是父组件中的{{ num }}</h3> </div>
</template> <script>
export default {
name: 'Home',
data () {
return { }
},
//监听
computed:{
//1.定义方法,调用store,返回store中的值
num:function(){
return this.$store.state.num
}
}
}
</script> <style > </style>
3.值的同步修改
在main.js
import Vue from 'vue'
import App from './App'
import router from './router/index' // Vue.config.productionTip = false import Vuex from "vuex"
Vue.use(Vuex)
const store=new Vuex.Store({
state:{num:111},
mutations:{
//1.定义如何修改
setNum(state,val){
state.num+=val
}
},
actions:{},
}); new Vue({
el: '#app',
router,
//4.挂载store实例
store,
components: { App},
template: '<div><App></App></div>'
});
在Course.vue中
<template>
<div>我是课程
<button @click="setnum">+1按钮</button>
我是父组件中的{{ num }}
</div>
</template>
<script>
export default{
methods:{
//2.确定修改
setnum(){
this.$store.commit("setNum",1)
}
},
computed:{
num:function(){
return this.$store.state.num
}
}
}
</script>
<style></style>
4.值的异步修改
在main.js中
import Vue from 'vue'
import App from './App'
import router from './router/index' import Vuex from "vuex"
Vue.use(Vuex)
const store=new Vuex.Store({
state:{num:111},
mutations:{
setMutaNum(state,val){
state.num+=val
},
setMutaAsync:function(state,val){
state.num+=val
}
},
actions:{
setActionNum(context,val){
context.commit('setMutaNum',val)
},
setActionAsync(context,val){
setTimeout(()=>{
context.commit('setMutaAsync',val)
})
}
},
}); new Vue({
el: '#app',
router,
//4.挂载store实例
store,
components: { App},
template: '<div><App></App></div>'
});
在course.vue中
<template>
<div>我是课程
<button @click="setnum">同步+1按钮</button>
<button @click="setAsynanum">异步 +5按钮</button>
我是父组件中的{{ num }}
</div>
</template>
<script>
export default{
methods:{
setnum(){
this.$store.dispatch("setActionNum",1)
},
setAsynanum(){
this.$store.dispatch("setActionAsync",5)
}
},
computed:{
num:function(){
return this.$store.state.num
}
}
}
</script>
<style></style>
流程如下
axios和vuex的更多相关文章
- day 84 Vue学习六之axios、vuex、脚手架中组件传值
Vue学习六之axios.vuex.脚手架中组件传值 本节目录 一 axios的使用 二 vuex的使用 三 组件传值 四 xxx 五 xxx 六 xxx 七 xxx 八 xxx 一 axios的 ...
- 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 ...
- Vue2基于Axios Ajax Vuex的Loading组件
1. 定义根state:ajaxIsLoading2. 在Axios拦截器中commit不同的状态实现状态切换3. 组件中通过getter获取ajaxIsLoading状态 Axios 拦截器配置 i ...
- Vue 5 -- axios、vuex
一.内容回顾 1.webpack(前端中工作,项目上线之前对整个前端项目优化) - entry:整个项目的程序入口(main.js或index.js): - output:输出的出口: - loade ...
- 【实战】Vue全家桶(vue + axios + vue-router + vuex)搭建移动端H5项目
使用Vue全家桶开发移动端页面. 本博文默认已安装node.js. github链接 一.准备工作 安装vue npm install vue 安装脚手架vue-cli npm install -g ...
- [前端] VUE基础 (9) (element-ui、axios、Vuex)
一.element-ui的使用 官方网页:https://element.eleme.cn/#/zh-CN 1.安装element-ui (venv) D:\pycharm_workspace\vue ...
- Vuex与axios介绍
Vuex集中式状态管理里架构 axios (Ajax) Vuex集中式状态管理架构 -简单介绍: vuex是一个专门为Vue.js设计的集中式状态管理架构. 我们把它理解为在data中需要共享给其他组 ...
- vue-x和axios的学习
axios的使用 使用原因:因为vue本身就带有处理dom的功能,不希望再有其他操作dom的插件,所以用axios代替了jquery 功能:发送xhr请求 下载: $ npm install axio ...
随机推荐
- 一款有意思的 Qt 飞行仪表控件
最近在网上偶然发现一款Qt飞行仪表板控件,真的很酷哦! 是一款开源软件, 直接编译运行: 美工还是不错的! 控件操作非常简单: void MainWindow::timerEvent( QTimer ...
- Arcgis api for javascript学习笔记(4.5版本) - 获取FeatureLayer中的graphics集合
在Arcgis api for javascript 3.x 版本中,我们可以直接通过某个FeatureLayer对象中的graphics属性获取要素集合. graphics属性 但是在4.x版本中, ...
- PAT 1065 - 1068 题解
这次的题目来源是 2013 年 10 月 7 日下午的浙大计算机研究生招生机试题. 这次题目的难度,按姥姥的说法是:『比普通的 PAT 要难了 0.5 个点.我是把自己的题目从 1.0 到 5.0 以 ...
- C# 从零开始写 SharpDx 应用 控制台创建 Sharpdx 窗口
原文:C# 从零开始写 SharpDx 应用 控制台创建 Sharpdx 窗口 版权声明:博客已迁移到 http://lindexi.gitee.io 欢迎访问.如果当前博客图片看不到,请到 http ...
- mysql安装出现应用程序无法正常启动(oxc000007b)的解决方案
原文:mysql安装出现应用程序无法正常启动(oxc000007b)的解决方案 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/IUNIQUE/art ...
- Android程序猿必掌握的sqlite数据库连表查询
SQL查询的基本原理:两种情况介绍. 第一. 单表查询:依据WHERE条件过滤表中的记录,形成中间表(这个中间表对用户是不可见的):然后依据SELECT的选择列选择对应的列进行返回终于结果. 第二 ...
- WPF中使用Hashtable剔除重复字符串(比如电话号码)
原文:WPF中使用Hashtable剔除重复字符串(比如电话号码) 本文中的输入框中的字符串是逗号隔开的,你可以换成其他特别的字符串.本篇中的亮点:1. 里面有一个玻璃样式按钮,用XAML制作2. W ...
- WPF中的菜单模板
原文:WPF中的菜单模板 资源字典代码如下: <ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xa ...
- ASP.NET Core 路由 - ASP.NET Core 基础教程 - 简单教程,简单编程
原文:ASP.NET Core 路由 - ASP.NET Core 基础教程 - 简单教程,简单编程 ASP.NET Core 路由 前两章节中,我们提到 ASP.NET Core 支持 MVC 开发 ...
- WPF3D图片轮播效果
原文:WPF3D图片轮播效果 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/m0_37591671/article/details/68059169 ...