Vue与Axios的传参方式实例详解

 更新时间:2022年08月02日 09:39:52   作者:笋干zzZ~  
现在vue项目基本上都是使用axios进行请求操作,下面这篇文章主要给大家介绍了关于Vue与Axios的传参方式的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下

Vue的传参方式:

1.通过name来传递参数

在router下的index.js

{
	path: '/hello',
	name: 'HelloWorld',
	component:HelloWorld,
},

在外部的对应的.vue中可以获取值

<h2>{{$route.name}}</h2>

2.通过路径的方式进行传参,需要在在路由配置中占位

2.1、通过v-bind:to的方式进行传参采取params:{key:value}(路径传参)

传值:

<!--用了params是不允许写path的,乌龟的屁股!-->
<router-link :to="{name:'hi',params:{id:33}}">by ':to' way transfer parameters</router-link>

占位:

{
	name: 'hi',
	path: '/hello/:id',
	component:HelloWorld,
},

接收值:

<h2>{{$route.params.id}}</h2>

2.2、直接将参数写在路径上进行传参

传值:

<router-link to="/java/1/天下第一">by 'url' way transfer parameters</router-link>
<router-link :to="`/java/${user.id}/${user.des}`">by 'url' way transfer parameters</router-link>

占位:

{
	path:'/java/:id/:des',
	name:'java',
	component:Java
}

接收值:

<h2>{{$route.params.id}}</h2>
<h2>{{$route.params.des}}</h2>

3.通过v-bind:to的方式进行传参采取query:{key:value}(问号传参)

传值:

<router-link :to="/to/hi?id=33">by ':to' way transfer parameters</router-link>
<router-link :to="`/to/hi?id=${user.id}`">by ':to' way transfer parameters</router-link>
<router-link :to="{path:'/to/hi',query:{id:33}}">by ':to' way transfer parameters</router-link>
<router-link :to="{name:'hi',query:{id:33}}">by ':to' way transfer parameters</router-link>

占位:问号传参不需要路由占位。

接收值:

<h2>{{$route.query.id}}</h2>

4.编程式导航,这是最常用的方式

传值:

<button @click="lol()">by 'programming' way transfer parameters</button>
<script>
methods:{
          lol:function () {
            //'programming' way A common way
            //注意:这里是router!!!不是route
            this.$router.push({name:'hi',params:{id:33}}})
            // 带查询参数,变成 /courseSearch?plan=this.state4
            this.$router.push({ name: 'hello',query:{keyword:this.state4}})
			this.$router.push({ path: '/courseSearch',query:{keyword:this.state4}})
          }
      }
</script>

占位:

{
	name: 'hi',
	path: '/hello/:id',
	component:HelloWorld,
},
{
	name: 'hello',
	path: '/hello2',
	component:HelloWorld2,
},

取值:

<h1>{{$route.params.id}}</h1>
this.keyword= this.$route.query.keyword

axios传递参数

1.GET传参

1.1.通过?传参

axios.get('/toData?id=1')
.then(res=>{
	console.log(res.data)
})

1.2.通过URL传参

axios.get('/toData/1')
.then(res=>{
	console.log(res.data)
})

1.3.通过参数传参

axios.get('/toData',{params:{id:1}})
.then(res=>{
	console.log(res.data)
})

axios({
	url:'/toData'
	type:'get'
	params:{id:1}
}).then(function (res) {
    console.log(res.data);
 })
//直接接收或者拿map接收
public Result test(Integer id) {}
public Result test(@RequestParam Map<String, Object> map) {}

2.DELETE传参同GET

3.POST传参

3.1.默认传递参数(传递的是json)

axios.post('/toData',{
	uername:'sungan',
	password:'P@ssw0rd'
})
.then(res=>{
	console.log(res.data)
})

3.2.通过URLSearchParams传递参数(传递的是FormData)

以表单的形式传递参数,需要修改{headers:{‘Content-Type’:‘application/x-www-form-urlencoded’}}配置。

let myParams = new URLSearchParams()
myParams.append('jobNumber', '430525')
myParams.append(' password': '123')

axios.post(url,myParams, {headers: {'Content-Type':'application/x-www-form-urlencoded'}});

3.3.通过qs库传递参数(传递的是FormData)

以表单的形式传递参数,需要修改{headers:{‘Content-Type’:‘application/x-www-form-urlencoded’}}配置。

//npm install qs / cnpm install qs (安装了淘宝镜像的才可以使用)
//qs.parse()是将URL解析成对象的形式
//qs.stringify()是将对象 序列化成URL的形式,以&进行拼接
import qs from 'qs';
axios.post(url,qs.stringify({jobNumber: '430525', password: '123'}), 
    {headers: {'Content-Type':'application/x-www-form-urlencoded'}}
);

4.PUT传参

4.1.默认传递参数

axios.post('/toData/1',{
	uername:'sungan',
	password:'P@ssw0rd'
})
.then(res=>{
	console.log(res.data)
})

请求头和请求体中都携带值.

总结

到此这篇关于Vue与Axios传参的文章就介绍到这了,更多相关Vue与Axios传参内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • vue实现移动端可拖拽式icon图标

    vue实现移动端可拖拽式icon图标

    这篇文章主要为大家详细介绍了vue实现移动端可拖拽式icon图标,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-03-03
  • vue实现ToDoList简单实例

    vue实现ToDoList简单实例

    这篇文章主要为大家详细介绍了vue实现ToDoList简单实例,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-02-02
  • vue技术分享之你可能不知道的7个秘密

    vue技术分享之你可能不知道的7个秘密

    这篇文章主要介绍了vue技术分享-你可能不知道的7个秘密,需要的朋友可以参考下
    2018-04-04
  • Vue组件中的自定义事件你了解多少

    Vue组件中的自定义事件你了解多少

    这篇文章主要为大家详细介绍了Vue组件中的自定义事件,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能够给你带来帮助
    2022-02-02
  • Vue中计算属性computed的示例解读

    Vue中计算属性computed的示例解读

    计算属性和普通属性一样是在模板中绑定计算属性的,当data中对应数据发生改变时,计算属性的值也会发生改变。下面这篇文章主要给大家介绍了关于Vue中计算属性computed的相关资料,需要的朋友可以参考下。
    2017-07-07
  • 解决vue项目刷新后,导航菜单高亮显示的位置不对问题

    解决vue项目刷新后,导航菜单高亮显示的位置不对问题

    今天小编就为大家分享一篇解决vue项目刷新后,导航菜单高亮显示的位置不对问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-11-11
  • vue3实现淘宝放大镜效果的示例代码

    vue3实现淘宝放大镜效果的示例代码

    放大镜效果在很多购物网站都可以看到,本文主要介绍了vue3实现淘宝放大镜效果的示例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-06-06
  • Vue 实现穿梭框功能的详细代码

    Vue 实现穿梭框功能的详细代码

    本文给大家介绍Vue 实现穿梭框功能,代码分为css,html和js代码,代码简单易懂,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧
    2021-10-10
  • Vue3 Transition组件给页面切换并加上动画效果

    Vue3 Transition组件给页面切换并加上动画效果

    这篇文章主要给大家介绍了关于Vue3 Transition组件给页面切换并加上动画效果的相关资料,vue的过渡动画主要是transition标签的使用,配合css动画实现的,需要的朋友可以参考下
    2023-06-06
  • vue和js中实现模糊查询方式

    vue和js中实现模糊查询方式

    这篇文章主要介绍了vue和js中实现模糊查询方式,具有很好的参考价值,希望对大家有所帮助。也希望大家多多支持脚本之家
    2022-08-08

最新评论