<vue 路由 5、动态路由-标签上传递参数>
一、效果
在about页面点击“我的”,路径里传入了参数zhangsan,在“我的”页面里接收传递过来的张三并展现出来。注:标签中传递参数写法
二、代码结构
注:主要是标红的几个文件
三、代码
index.js
//引入路由
import {
createRouter,
createWebHistory
} from 'vue-router'
import Home from '../views/Home.vue'
//定义路由
const routes = [{
path: '/',
name: 'Home',
component: Home
},
{
path: '/about',
name: 'About',
component: () => import('../views/About.vue'),
children: [{
path: '',
component: () => import('../views/AboutNews.vue')
},
{
path: 'news',
component: () => import('../views/AboutNews.vue')
},
{
path: 'sport',
component: () => import('../views/AboutSport.vue')
},
{
path: 'me/:userId',
component: () => import('../views/AboutMe.vue')
}
]
}
]
//创建路由
const router = createRouter({
//createWebHashHistory hash模式路径前面会多一个#号
history: createWebHistory(process.env.BASE_URL),
routes
})
//返回了路由
export default router
App.vue
Home.vue
Home Page
![]()
About.vue
about page
新闻 |体育 |我的 |
AboutNews.vue
- 新闻1
- 新闻2
- 新闻3
- 新闻4
AboutSport.vue
- 体育1
- 体育2
- 体育3
- 体育4
AboutMe.vue
我的主页
{{$route.params.userId}}
四、知识点
$route和$router是有区别的
1、$router为VueRouter实例,想要导航到不同URL,则使用$router.push方法
2、$route为当前router跳转对象里面可以获取name、path、query、params等