一、模块的安装



npm install axios --save
#--save可以不用写


如图:

四、Vue CLI-异步请求(axios)_ios

 

二、配置main.js



import axios from 'axios'
Vue.prototype.$axios = axios;


如图:

四、Vue CLI-异步请求(axios)_简单使用_02

 

 三、简单使用示例

页面加载时执行:



<template>
<div class="header">{{title}}</div>
</template>

<script>
//当前组件的脚本
export default{
// 当前组件的名称
name:"test", //非必填项,则自动以文件名为主
data(){
return {//当前组件中所有的数据

title:'猫眼电影'

};
},methods:{ //当前组件中所有的函数

//普通的方法
xx:function(){
alert("调用普通方法");
}

},created()
{
window.console.log("页面加载完毕之前执行,执行顺序:父组件-子组件");
this.xx();

},mounted()
{
window.console.log("页面加载完毕之前执行,执行顺序:子组件-父组件");

}
}
</script>

<style>
.header{
height: 1.25rem;
line-height: 2.5;
background: #e54847;
color: #fff;
text-align: center;
font-size: 0.5rem;
}
</style>


点击按钮执行:



<template>
<div>
<div v-show="show">HelloWorld</div>
<button @click="handleClick">Click</button>
<ul>
<li v-for="(item,index) of list" :key="index">{{item}}</li>
</ul>
</div>
</template>
<script>
export default {
name: "test",
data() {
return {
show: true,
list: [1, 2, 3]
};
},
methods: {
handleClick: function() {
this.show = !this.show;
}
}
};
</script>


异步请求的

 四、Vue CLI-异步请求(axios)_ios_03

 

 代码如下:



<template>
<div>
<div v-show="show">HelloWorld</div>
<button @click="handleClick">Click</button>
<ul>
<li v-for="(item,index) of list" :key="index">{{item}}</li>
</ul>
</div>
</template>
<script>
export default {
name: "test",
data() {
return {
show: true,
list: [1, 2, 3]
};
},
methods: {
handleClick: function() {

this.$axios({
url: 'http://wthrcdn.etouch.cn/weather_mini?citykey=101010100', // 后台接口
method: 'get', // 请求方式
}).then(response => { // 请求成功
window.console.log('请求成功');
window.console.log(response.data);
this.course_ctx = response.data; // 将后台数据赋值给前台变量完成页面渲染
}).catch(error => { // 请求失败
window.console.log('请求失败');
window.console.log(error);
})

}
}
};
</script>


 四、路由跳转与参数

可以使用 this.$router.push(location) 来更改url,完成跳转

四、Vue CLI-异步请求(axios)_简单使用_04

 代码如下:

接受页面:



<template>
<div>
<div>Test2页面</div>
<div>{{this.$route.params.user}}</div>
<button @click="write">打印接收的参数</button>
</div>
</template>
<script>
export default {
name:"test2",
data(){
return {
status:true
}
},
methods:{
write(){
window.console.log(this.$route.params.user);
}
}
}
</script>
<style>
</style>


点击跳转页面



<template>
<div>
<div v-show="show">HelloWorld</div>
<button @click="handleClick">Click</button>
<ul>
<li v-for="(item,index) of list" :key="index">{{item}}</li>
</ul>
</div>
</template>
<script>
export default {
name: "test",
data() {
return {
show: true,
list: [1, 2, 3]
};
},
methods: {
handleClick: function() {


//this.$router.push('/test2')

this.$router.push('/test2?user="wise"') //接受页面 this.$route.query.user

/*this.$router.push({
name:'test2',
params:{
user:"wise"
}
})*/


}
}
};
</script>


 


点到为止