Home > Article > Web Front-end > How to implement front-end routing jump under Vue?
Vue is an excellent front-end framework. In application development, front-end routing jump is a very common requirement. Vue provides rich functions to implement routing jumps. This article will introduce Vue's built-in routing implementation and the use of the third-party routing library Vue-Router.
1. Vue’s built-in routing implementation method
In Vue, you can use the built-in vue-router to implement front-end routing jumps.
Use npm command to install vue-router library:
npm install vue-router
Create a Vue Router object in the Vue project main file (eg: main.js) and bind it to the Vue instance. As shown below:
import Vue from 'vue' import VueRouter from 'vue-router' Vue.use(VueRouter) const router = new VueRouter({ // 路由配置 }) new Vue({ router }).$mount('#app')
In the code, we first introduced vue-router and bound it to the Vue instance. Then a Vue Router object is created and placed in the Vue instance.
When creating a Vue Router object, you need to configure the routing. The configuration in Vue Router mainly includes routing paths, routing components, routing aliases, and any other parameters. The routing path corresponds to the path part in the URL, and the routing component defines the components to be displayed under the path.
For example, if we want to create a route for a page, we can write it like this when configuring the route:
const router = new VueRouter({ routes: [ { path: '/about', component: About } ] })
Among them, the routing path is "/about" and the corresponding component is About.
With routing configuration, we can use Vue Router’s built-in route jump function. Vue Router provides the router-link tag and router.push method to implement route jumps.
1) Use the router-link tag
The router-link tag can be used in HTML templates to create a routing link. The router-link tag will automatically generate the correct URL based on the routing configuration.
For example:
<router-link to="/about">关于我们</router-link>
When you click on the About Us link, it will jump to the component page corresponding to the configured routing path "/about".
2) Use the router.push method
In addition to using the router-link tag, Vue Router also provides the router.push method to implement routing jumps.
For example:
this.$router.push('/about')
In the Vue component, we can use this.$router to obtain the Vue Router instance, and use the push method to implement the jump. This code will jump to the component page with the routing path "/about".
2. Vue-router
Vue-Router is an official router based on Vue.js. It is the routing manager officially released by Vue.js, which provides powerful functions, such as routing nesting, dynamic routing, lazy loading of routes, etc. Let's take a look at how to use Vue-Router to implement front-end routing jumps.
Before using Vue-Router, you need to install it into the project. We can install it using npm command.
npm install vue-router --save
When creating a Vue route, we can first configure the relevant routing information of the page components (including nested sub-components) that need to be jumped. into an array.
For example:
const routes = [ { path: '/', component: Home }, { path: '/about', component: About }, { path: '/user/:id', component: User } ]
This array defines three routing information. The first routing information defines the default jump page as Home, and the second routing information defines the jump page as Home. About, the third routing information defines the jump page as User, and the routing information needs to pass the id parameter.
Next, we can create a routing instance through the createRouter method of Vue-Router.
For example:
import { createRouter, createWebHistory } from 'vue-router' const router = createRouter({ history: createWebHistory(), routes })
In the code, we use the createRouter method of Vue-Router to create a routing instance and define the routing history management method and routing information. Among them, createWebHistory means using HTML5 History API for routing management.
After creating the routing instance, we need to register the routing instance into the Vue application instance.
For example:
import { createApp } from 'vue' import App from './App.vue' import { router } from './router' createApp(App) .use(router) .mount('#app')
In the code, we register the routing instance into the Vue application instance through the use method of createApp.
In addition to registering routing instances, we can also implement routing jumps through the routing navigation component router-view and routing link component router-link provided by Vue-Router.
For example:
<router-link to="/">Home</router-link> <router-link to="/about">About</router-link> <router-link :to="{name: 'user', params: {id: userId}}">User</router-link> <router-view></router-view>
In the code, we use the router-link tag to create three jump links, and use the router-view tag to display the corresponding content of the routing component. The third link needs to pass a dynamic parameter id.
Vue-Router provides a variety of ways to implement route jump, for example:
For example, use the router.push method in the Vue component to implement routing jump:
import { reactive } from 'vue' export default { setup() { const state = reactive({ userId: '' }) const handleRoute = function() { router.push({ name: 'user', params: { id: state.userId } }) } return { state, handleRoute } } }
In the code, we use reactive to create an object in the Vue component, and then in In the handleRoute method, use the router.push method to implement route jump. Among them, the name field corresponds to the router-link or the name attribute of the routing information, and params is an object that contains the dynamic parameters required for routing.
Conclusion
Vue-Router is a very powerful and easy-to-use routing manager. In a Vue application, Vue-Router can be used to easily implement route jumps and the parameter transfer required for route jumps. For developers, this makes writing single-page applications very simple and efficient.
The above is the detailed content of How to implement front-end routing jump under Vue?. For more information, please follow other related articles on the PHP Chinese website!