Table of Contents
Vue3 supports
History Options
Dynamic routing
Navigation guards can return values ​​that are not next
Home Web Front-end Vue.js This article will show you the cool features in Vue Router4

This article will show you the cool features in Vue Router4

May 24, 2021 am 10:59 AM
vue.js

This article will let you know about the cool features in Vue Router4. It has certain reference value. Friends in need can refer to it. I hope it will be helpful to everyone.

This article will show you the cool features in Vue Router4

#Vue Router 4 has been released, let’s take a look at what cool features are included in the new version. [Related recommendations: "vue.js Tutorial"]

Vue3 supports

Vue 3 and introduces the createApp API, This API changes the way plugins are added to Vue instances. Therefore, previous versions of Vue Router will not be compatible with Vue3.

Vue Router 4 introduces the createRouter API, which creates a router instance that can be installed in Vue3.

// src/router/index.js

import { createRouter } from "vue-router";

export default createRouter({
  routes: [...],
});
// src/main.js

import { createApp } from "vue";
import router from "./router";

const app = createApp({});
app.use(router);
app.mount("#app");

History Options

In earlier versions of Vue Router, we could mode attribute to specify the mode of routing.

hash mode uses a URL hash to simulate the full URL so that the page does not reload when the URL changes. history mode uses the HTML5 History API to implement URL navigation without reloading the page.

// Vue Router 3
const router = new VueRouter({
  mode: "history",
  routes: [...]
});

In Vue Router 4, these patterns have been abstracted into modules, which can be imported and assigned to new history options. This extra flexibility allows us to customize the router as needed.

// Vue Router 4
import { createRouter, createWebHistory } from "vue-router";

export default createRouter({
  history: createWebHistory(),
  routes: [],
});

Dynamic routing

Vue Router 4 provides the addRoute method to implement dynamic routing.

This method is rarely used, but it does have some interesting use cases. For example, let's say we want to create a UI for a file system application, and we want to add paths dynamically. We can do it as follows:

methods: {
  uploadComplete (id) {
    router.addRoute({
      path: `/uploads/${id}`,
      name: `upload-${id}`,
      component: FileInfo
    });
  }
}

We can also use the following related methods:

  • removeRoute
  • hasRoute
  • getRoutes

Navigation guards can return values ​​that are not next

Navigation guards are hooks for Vue Router that allow users to run customizations before or after a jump Logic, such as beforeEach, beforeRouterEnter, etc.

They are typically used to check if the user has permission to access a page, validate dynamic routing parameters, or destroy listeners.

In version 4, we can return values ​​or Promise from hook methods. This allows you to perform the following operations quickly and easily:

// Vue Router 3
router.beforeEach((to, from, next) => {
  if (!isAuthenticated) {
    next(false);
  }
  else { 
    next();
  }
})

// Vue Router 4
router.beforeEach(() => isAuthenticated);

These are just some of the new features added in version 4. You can go to the official website to learn more.

English original address: https://vuejsdevelopers.com/topics/vue-router/

Author: Matt Maribojoc

More programming related For knowledge, please visit: programming video! !

The above is the detailed content of This article will show you the cool features in Vue Router4. For more information, please follow other related articles on the PHP Chinese website!

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

Hot AI Tools

Undress AI Tool

Undress AI Tool

Undress images for free

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Clothoff.io

Clothoff.io

AI clothes remover

Video Face Swap

Video Face Swap

Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

Hot Topics

PHP Tutorial
1509
276
Detailed graphic explanation of how to integrate the Ace code editor in a Vue project Detailed graphic explanation of how to integrate the Ace code editor in a Vue project Apr 24, 2023 am 10:52 AM

Ace is an embeddable code editor written in JavaScript. It matches the functionality and performance of native editors like Sublime, Vim, and TextMate. It can be easily embedded into any web page and JavaScript application. Ace is maintained as the main editor for the Cloud9 IDE and is the successor to the Mozilla Skywriter (Bespin) project.

Analyze the principle of Vue2 implementing composition API Analyze the principle of Vue2 implementing composition API Jan 13, 2023 am 08:30 AM

Since the release of Vue3, the word composition API has entered the field of vision of students who write Vue. I believe everyone has always heard how much better the composition API is than the previous options API. Now, due to the release of the @vue/composition-api plug-in, Vue2 Students can also get on the bus. Next, we will mainly use responsive ref and reactive to conduct an in-depth analysis of how this plug-in achieves this.

Let's talk about how to use the Amap API in vue3 Let's talk about how to use the Amap API in vue3 Mar 09, 2023 pm 07:22 PM

When we used Amap, the official recommended many cases and demos to us, but these cases all used native methods to access and did not provide demos of vue or react. Many people have written about vue2 access on the Internet. However, in this article, we will take a look at how vue3 uses the commonly used Amap API. I hope it will be helpful to everyone!

Explore how to write unit tests in Vue3 Explore how to write unit tests in Vue3 Apr 25, 2023 pm 07:41 PM

Vue.js has become a very popular framework in front-end development today. As Vue.js continues to evolve, unit testing is becoming more and more important. Today we’ll explore how to write unit tests in Vue.js 3 and provide some best practices and common problems and solutions.

A brief analysis of how vue implements file slicing upload A brief analysis of how vue implements file slicing upload Mar 24, 2023 pm 07:40 PM

In the actual development project process, sometimes it is necessary to upload relatively large files, and then the upload will be relatively slow, so the background may require the front-end to upload file slices. It is very simple. For example, 1 A gigabyte file stream is cut into several small file streams, and then the interface is requested to deliver the small file streams respectively.

Detailed example of vue3 realizing the typewriter effect of chatgpt Detailed example of vue3 realizing the typewriter effect of chatgpt Apr 18, 2023 pm 03:40 PM

When I was working on the chatgpt mirror site, I found that some mirror sites did not have typewriter cursor effects, but only text output. Did they not want to do it? I want to do it anyway. So I studied it carefully and realized the effect of typewriter plus cursor. Now I will share my solution and renderings~

A simple comparison of JSX syntax and template syntax in Vue (analysis of advantages and disadvantages) A simple comparison of JSX syntax and template syntax in Vue (analysis of advantages and disadvantages) Mar 23, 2023 pm 07:53 PM

In Vue.js, developers can use two different syntaxes to create user interfaces: JSX syntax and template syntax. Both syntaxes have their own advantages and disadvantages. Let’s discuss their differences, advantages and disadvantages.

Teach you step by step how to use Vue3 to implement an elegant element dragging function Teach you step by step how to use Vue3 to implement an elegant element dragging function Mar 30, 2023 pm 08:57 PM

How to implement element dragging function? The following article will take you step by step to understand how to use Vue3 to implement an elegant element dragging function, and learn relevant knowledge points through examples. I hope it will be helpful to you!

See all articles