标签:app inf ret ams 图片 区别 参数 父页面 显示
<router-link :to="{path:‘/fruit/apple‘}">apple</router-link>
此时的path
就是注册路由时的path
,也就是路由的路径。
可以简写为。
<router-link to="/fruit/apple">apple</router-link>
<router-link :to="{name:‘apple‘}">apple</router-link>
此时的name
就是注册路由时的name
,也就是路由的名称。
用路由跳转的方式会给要跳转的元素加上a
标签,可以通过tag
属性,自定义跳转元素的标签
<router-link tag="button" :to="{path:‘/fruit/apple‘}">apple</router-link>
此时跳转元素为button
<router-link tag="span" :to="{name:‘apple‘}">apple</router-link>
此时跳转元素为span
<button @click="fn">apple</button>
methods: {
fn: function () {
this.$router.push({ path: 'fruit/apple' })
this.$router.push({ name: 'apple' })
}
}
<router-link :to="{path:'/fruit/apple',query:{msg:this.msg}}">apple</router-link>
<router-link :to="{name:'apple',params:{msg:this.msg}}">apple</router-link>
其中query
和params
为传递的参数。
<button @click="fn">apple</button>
methods: {
fn: function () {
this.$router.push({ path: 'fruit/apple', query: { msg: this.msg } })
this.$router.push({ name: 'apple', params: { msg: this.msg } })
}
}
data () {
return {
// query接收参数
aaa: this.$route.query.msg,
// params接收参数
bbb: this.$route.params.msg
}
}
跳转的时候用的是this.$ router
,接收的时候用的是this.$ route
query
传参和params
传参的区别: query传参后的页面地址:参数会显示在地址栏(相当于get)
http://localhost:8082/#/fruit/apple?msg=Welcome%20to%20Your%20Vue.js%20App
params传参后的页面地址:参数不会显示在地址栏(相当于post)
http://localhost:8082/#/fruit/apple
params
传参刷新会无效,但是query
会保存传递过来的值,刷新不变如果我又想让传的值不显示在地址栏,又想让传的值刷新页面后不消失,使用vuex.
标签:app inf ret ams 图片 区别 参数 父页面 显示
原文地址:https://www.cnblogs.com/heson/p/10523084.html