vue 命名路由跳转、传参
命名路由
(1)通过路由设置的name来导航
(2)编程式导航中,也可以使用命名路由的方式
如:this.$router.push({ name: 'user', params: { userId: '123' }})
用法:
1、代替router-link标签中to传入路由路径,将router-link标签中的to替换成
:to="{name:'组件name'}"
2、命名路由传参
(1)在路由路径中'/:键名' //可选项
(2)在router-link标签中
:to="{name:'组件name',params:{键名:键值}}";
其中:
(1)键值可以直接是data中的变量
(2)这种方法避免将参数暴露在url,路由传参推荐这种方法
3、获取参数
this.$route.params.name
代码示例:
路由跳转:
<template>
<div id="app">
<img src="./assets/logo.png">
<ul>
<router-link :to="{name:'d',params:{name:msg}}">d</router-link>
<router-link to='/c'>c</router-link>
</ul>
<router-view />
</div>
</template>
<script>
export default {
name: 'App',
data()
{
return{
msg:'jeff'
}
}
</script>
<style>
#app {
font-family: 'Avenir', Helvetica, Arial, sans-serif;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
text-align: center;
color: #2c3e50;
margin-top: 60px;
}
</style>
组件接收参数:
<template>
<div>
ddd
<ul>
<router-link to="/d/dd">d的子路由</router-link>
</ul>
{ { this.$route.params.name}}
<router-view />
</div>
</template>
<script>
export default{
name:'d',
data()
{
return{
msg:'hh'
}
}
}
</script>
<style lang="css">
</style>
还没有评论,来说两句吧...