路由传参,这里的参数名只是一个描述符,写什么都可以
params方式传递路由参数:
$route.params返回的是params方式传递的路由参数
eg:path:’/goods/:id/:title’
$router是路由总信息对象
$route是当前路由信息对象
:to="’/goods/’+(index+1)+’/’+item"
定义id,title
id:0,title:’’
let {id,title} =this.$route.params
this.id = id
this.title = title
根据id查询相关数据
axios.get(‘aasdfghjk’,{id:id})
this.show = this.goodsList.find(r=>r.id===parseInt(id))
路由传参还可以配合props使用,通过props解耦
props:true
可以不用定义属性,用props去接一下
这里props里面定义的两个参数,可以去接收路由传过来的两个参数
props:[“id”,“title”]
this.show = this.goodsList.find(r=>r.id===parseInt(this.id))
query方式传递路由参数:
好处:不需要动路由
$route.query返回的是query方式传递的路由参数
path:‘goods’
问号后面跟参数,多个参数用&拼接
:to="’/goods/?id=’+(index+1)+’&title’+item"
id:0,title:’’
let {id,title} = this.$route.query
this.id = id
this.title = title
根据id查询相关数据
this.show = this.goodsList.find(r=>r.id===parseInt(this.id))