Home > Web Front-end > Vue.js > Vue-Router: How to use route parameters in Vue application?

Vue-Router: How to use route parameters in Vue application?

PHPz
Release: 2023-12-17 09:56:38
Original
1152 people have browsed it

Vue-Router: 如何在Vue应用程序中使用路由参数?

Vue-Router is a powerful component in the Vue.js ecosystem for managing routing in Vue applications. In a Vue application, using route parameters allows us to easily pass data and navigate between different pages. In this article, we will learn how to use route parameters in a Vue.js application and give corresponding code examples.

First, we need to install Vue-Router. Run the following command in the terminal to install Vue-Router:

npm install vue-router

After the installation is complete, we need to introduce Vue-Router in the Vue application , and use it to define routes. For example, in our application, we can define the following two routes:

// 导入Vue和VueRouter
import Vue from 'vue'
import VueRouter from 'vue-router'

// 导入组件
import Home from './components/Home'
import User from './components/User'

// 使用VueRouter
Vue.use(VueRouter)

// 定义路由
const router = new VueRouter({
  routes: [
    {
      path: '/',
      component: Home
    },
    {
      path: '/user/:id',
      component: User
    }
  ]
})
Copy after login

In the above code, we use VueRouter to define two routes: / and /user/:id. These two routes correspond to the Home and User components in our application. Among them, / represents the default route, which is the route displayed when we access the root directory of the application. And /user/:id represents a dynamic route, where :id represents the user's ID, such as /user/12345.

When we use routing parameters in the application, we can obtain the routing parameters through the $route.params object. For example, in our User component, you can use the following code to obtain the user's ID:

<template>
  <div>
    <h1>User ID: {{ $route.params.id }}</h1>
  </div>
</template>
Copy after login

In the above code, we use the template syntax of Vue.js to obtain it through $route.params.id The user's ID to display the corresponding user information.

In actual development, we can use $route.params to obtain routing parameters and pass them to the backend server for data requests. For example, we can use Axios to request the user's detailed information in the User component:

<template>
  <div>
    <h1>User ID: {{ user.id }}</h1>
    <p>Name: {{ user.name }}</p>
    <p>Email: {{ user.email }}</p>
  </div>
</template>

<script>
import axios from 'axios'

export default {
  data() {
    return {
      user: {}
    }
  },
  created() {
    this.getUser(this.$route.params.id)
  },
  methods: {
    getUser(id) {
      axios.get(`/api/users/${id}`)
        .then(response => {
          this.user = response.data
        })
        .catch(error => {
          console.log(error)
        })
    }
  }
}
</script>
Copy after login

In the above code, we use Axios to send a GET request to the backend server to obtain the user's detailed information. Get the user's ID through $route.params.id and pass it to the getUser method. In the getUser method, we use Axios to request the backend server and save the returned data in the user object. Finally, we use the user object in the template to display the user's details.

Summary: Using routing parameters in Vue.js applications, page navigation and data delivery can be easily achieved. We only need to use Vue-Router to define routes, use $route.params to obtain route parameters, and pass them to components or back-end servers for data requests. After studying this article, I believe you have mastered the skills of how to use routing parameters in Vue.js applications.

The above is the detailed content of Vue-Router: How to use route parameters in Vue application?. For more information, please follow other related articles on the PHP Chinese website!

Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template