假设我们有一个Vue应用程序,需要展示不同用户的个人资料页面。我们可以使用Vue-router的动态路由来达到这个目的,它允许我们根据不同的URL参数动态地加载不同的组件,并且可以获取传递的值。例如:
我们的路由配置如下:
- const router = new VueRouter({
- routes: [
- {
- path: '/profile/:userId',
- name: 'UserProfile',
- component: UserProfile
- }
- ]
- })
在这里,我们使用了动态路由参数 :userId
,它表示我们可以通过URL参数来访问不同的用户个人资料页面。同时,我们也指定了路由名称 UserProfile
和所对应的 Vue 组件 UserProfile
。
接下来,我们在 UserProfile
组件中获取路由参数 userId
的值,以便展示对应用户的资料信息:
- <div>
- <h1>User Profileh1>
- <p>id: {{ userId }}p>
- <p>name: {{ username }}p>
- <p>email: {{ email }}p>
- div>
-
- <script>
- export default {
- name: 'UserProfile',
- data () {
- return {
- userId: '',
- username: '',
- email: ''
- }
- },
- created () {
- this.userId = this.$route.params.userId
- // 此处可以根据userId获取对应用户的相关信息,这里只做模拟
- this.username = 'testuser' + this.userId
- this.email = 'testuser' + this.userId + '@example.com'
- }
- }
- script>
在这里,我们使用了 created
生命周期钩子,在组件创建时从路由参数中获取 userId
的值,并将其赋值给组件的数据 userId
。同时,我们还模拟了根据 userId
获取对应用户的相关信息,并将其展示在页面中。