Use of Vue3 pages, menus, and routes

Use of Vue3 pages, menus, and routes

1. Click on the menu to jump

1. Unify page naming

We first unify the page names and use lowercase, change Home and About pages to lowercase, and then modify index.ts in router .

The sample code is as follows:

import { createRouter, createWebHistory, RouteRecordRaw } from 'vue-router'
import Home from '../views/home.vue'
import About from '../views/about.vue'

const routes: Array<RouteRecordRaw> = [
  {
    path: '/',
    name: 'Home',
    component: Home
  },
  {
    path: '/about',
    name: 'About',
    component: About
    // route level code-splitting
    // this generates a separate chunk (about.[hash].js) for this route
    //Lazy loading made me delete it}
]

const router = createRouter({
  history: createWebHistory(process.env.BASE_URL),
  routes
})

export default router

2. Add management page

Create a page called admin-ebook.vue under views/admin .

The sample code is as follows:

<template>
  <div class="about">
    <h1>E-book management page</h1>
  </div>
</template>

3. Add routes

Modify index.ts content in router again.

The sample code is as follows:

import {createRouter, createWebHistory, RouteRecordRaw} from 'vue-router'
import Home from '../views/home.vue'
import About from '../views/about.vue'
import AdminEbook from '../views/admin/admin-ebook.vue'

const routes: Array<RouteRecordRaw> = [
  {
    path: '/',
    name: 'Home',
    component: Home
  },
  {
    path: '/about',
    name: 'About',
    component: About
  },
  {
    path: '/admin/admin-ebook',
    name: 'AdminEbook',
    component: AdminEbook
  }
]

const router = createRouter({
  history: createWebHistory(process.env.BASE_URL),
  routes
})

export default router

4. Bind the route in the menu

We modify it in the header, the sample code is as follows:

<template>
    <a-layout-header class="header">
      <div class="logo" />
      <a-menu
          theme="dark"
          mode="horizontal"
          :style="{ lineHeight: '64px' }"
      >
        <a-menu-item key="/">
          <router-link to="/">Home</router-link>
        </a-menu-item>
        <a-menu-item key="/admin/admin-ebook">
          <router-link to="/admin/admin-ebook">E-book management page</router-link>
        </a-menu-item>
        <a-menu-item key="3">
          <router-link to="/about">About Us</router-link>
        </a-menu-item>
      </a-menu>
    </a-layout-header>
</template>

<script lang="ts">
import {defineComponent} from 'vue';

export default defineComponent({
  name: 'TheHeader',
});
</script>

Knowledge points:

Use router-link to redirect, as shown below: <router-link to="/"> Home </router-link>

2. Actual Effect

Recompile and start, as shown below:

This is the end of this article about the use of Vue3 pages, menus, and routes. For more information about the use of Vue3 pages, menus, and routes, please search for previous articles on 123WORDPRESS.COM or continue to browse the following related articles. I hope everyone will support 123WORDPRESS.COM in the future!

You may also be interested in:
  • Detailed explanation of vue3 cache page keep-alive and unified routing processing
  • Vue3.0 combined with bootstrap to create a multi-page application
  • Vue3.0 implements the encapsulation of the drop-down menu
  • Vue3+TypeScript implements a complete example of a recursive menu component
  • Detailed explanation of the difference between routing hooks in Vue2.x and Vue3.x
  • A simple example of using Vue3 routing VueRouter4
  • Vue2/vue3 routing permission management method example

<<:  Example of implementing a seamless infinite loop of background using CSS animation

>>:  Analyze the duration of TIME_WAIT from the Linux source code

Recommend

Three ways to create a gray effect on website images

I’ve always preferred grayscale images because I t...

js to achieve simple image drag effect

This article shares the specific code of js to ac...

MySQL optimization connection optimization

In the article MySQL Optimization: Cache Optimiza...

Research on the Input Button Function of Type File

<br />When uploading on some websites, a [Se...

Teach you how to achieve vertical centering elegantly (recommended)

Preface There are many ways to center horizontall...

Jmeter connects to the database process diagram

1. Download the MySQL jdbc driver (mysql-connecto...

Detailed explanation of HTML basics (Part 1)

1. Understand the WEB Web pages are mainly compos...

Three ways to check whether a port is open in a remote Linux system

This is a very important topic, not only for Linu...

Use crontab to run the script of executing jar program regularly in centOS6

1. Write a simple Java program public class tests...

Analysis of the reasons why Vue3 uses Proxy to implement data monitoring

Vue data two-way binding principle, but this meth...

Interpretation of 17 advertising effectiveness measures

1. 85% of ads go unread <br />Interpretatio...

A comparison between the href attribute and onclick event of the a tag

First of all, let's talk about the execution ...