Detailed explanation of Vue router routing guard

Detailed explanation of Vue router routing guard

1. Global beforeEach

When the name stored in Local Storage is zhangsan, the message content will be displayed only when the message is clicked

1. Global beforeEach

Add a routing guard to the router beforeEach

grammar:

router.beforeEach((to, from, next)=>{})

Function: Call the function in beforeEach during initialization and before each route switch

parameter:

1.to: target route

2.from: the route before the jump

3.next: release

2. Implementation

2. Requirement 2

If there are many paths that need to be judged before jumping, you need to write a lot of judgment code, and the judgment structure will be very complicated.

At this time, you can put a meta tag in the route that needs to be judged.

The meta tag provides metadata about the HTML document (metadata refers to data used to describe data)

At this time, you can use the tag field in meta to make a judgment

3. Global post-guard afterEach

The usage of afterEach and beforeEach is basically the same.

The difference is that afterEach does not have the next parameter

1. Change the title to your own title

Assign each route its own title name

const router = new VueRouter({
  routes: [
    {
      name: 'home',
      path: '/home',
      component: Home,
      meta: {
        title: "Home"
      },
      children: [ 
        {
          name: "xiaoxi",
          path: 'message',
          component: Message,
          meta: {
            title: "News"
          },
          children: [
            {
              name: 'xiangqing',
              path: 'detail',
              component: Detail,
              meta: {
                isAuth: true,
                title: "Message Details"
              }
            }
          ]
        }
      ]
    },
    {
      path: '/about',
      component: About,
      meta: {
        title: "About"
      }
    }
  ]
})

Modify the title name in beforeEach

router.afterEach((to, from) => {
  document.title = to.meta.title || "Test"
})

4. Guarding within components

1. beforeRouteEnter

Called when entering this component through routing rules

2. beforeRouteLeave

Called when leaving the component through routing rules

Summarize

This article ends here. I hope it can be helpful to you. I also hope you can pay more attention to more content on 123WORDPRESS.COM!

You may also be interested in:
  • Specific use of routing guards in Vue
  • Vue2.0 implements navigation guard (route guard)
  • Detailed explanation of Vue's hook functions (route navigation guards, keep-alive, life cycle hooks)
  • Detailed explanation of Vue's routing guard and keep-alive life cycle

<<:  How to stop CSS animation midway and maintain the posture

>>:  A Guide to Optimizing High-Performance Websites

Recommend

display:grid in CSS3, an introduction to grid layout

1. Grid layout (grid): It divides the web page in...

Detailed explanation of the use of docker tag and docker push

Docker tag detailed explanation The use of the do...

CSS scroll-snap scroll event stop and element position detection implementation

1. Scroll Snap is a must-have skill for front-end...

Use of Linux network configuration tools

This article introduces RHEL8 network services an...

Solution to the error in compiling LVGL emulator on Linux

Table of contents 1. Error phenomenon 2. Error An...

XHTML introductory tutorial: Web page Head and DTD

Although head and DTD will not be displayed on th...

Example of using javascript to drag and swap div positions

1 Implementation Principle This is done using the...

Linux C log output code template sample code

Preface This article mainly introduces the releva...

What are the new CSS :where and :is pseudo-class functions?

What are :is and :where? :is() and :where() are p...

Database query which object contains which field method statement

The database queries which object contains which ...

Detailed explanation of Vuex overall case

Table of contents 1. Introduction 2. Advantages 3...

Solution to Chinese garbled characters when operating MySQL database in CMD

I searched on Baidu. . Some people say to use the...

Some references about colors in HTML

In HTML, colors are represented in two ways. One i...

An example of using Dapr to simplify microservices from scratch

Table of contents Preface 1. Install Docker 2. In...