Vue3+Vite实现动态路由的详细实例代码

下面我来详细讲解“Vue3+Vite实现动态路由的详细实例代码”的完整攻略。

1. Vite项目基础搭建

首先,我们需要创建并启动一个Vite项目。可以使用命令行工具在要创建项目的目录下执行以下命令:

npm init vite-app my-project
cd my-project
npm install
npm run dev

上述命令意义分别为:使用vite-app模板创建my-project项目,进入my-project目录,安装项目依赖,启动项目。

2. 创建动态路由页面

接下来,我们需要创建动态路由页面,这里以用户详情页为例。在src/views目录下创建UserDetail.vue组件文件。示例代码如下:

<template>
  <div>
    <h2>User Detail Page</h2>
    <p>ID: {{ id }}</p>
  </div>
</template>

<script>
export default {
  computed: {
    id() {
      return Number(this.$route.params.id); // 获取路由参数中的ID值
    }
  }
};
</script>

3. 配置动态路由

接下来,我们需要向路由表中添加动态路由。在src/router/index.js文件中添加如下代码:

import { createRouter, createWebHistory } from 'vue-router';

const routes = [
  {
    path: '/user/:id', // 动态路由
    name: 'UserDetail', // 名称
    component: () => import('../views/UserDetail.vue') // 组件
  }
];

const router = createRouter({
  history: createWebHistory(),
  routes
});

export default router;

4. 创建链接

接下来,我们需要在应用中创建链接,以便触发动态路由。在App.vue文件中添加如下代码:

<template>
  <div id="app">
    <nav>
      <ul>
        <li><router-link to="/">Home</router-link></li>
        <li><router-link to="/about">About</router-link></li>
        <li><router-link :to="{ name: 'UserDetail', params: { id: 1 } }">User Detail</router-link></li> <!-- 动态路由链接 -->
      </ul>
    </nav>
    <router-view />
  </div>
</template>

5. 运行应用

在终端中执行npm run dev命令,启动应用。在浏览器中打开http://localhost:3000,可以看到应用界面。

点击User Detail链接,即可触发动态路由,进入到用户详情页。

示例1

参考第4步中的代码,我们可以使用$route对象中的params属性获取路由参数。在Vue组件的computed属性中加入如下代码,则可以直接通过this.id获取路由参数中的ID值。

computed: {
  id() {
    return Number(this.$route.params.id);
  }
}

示例2

如果需要动态加载组件,可以使用Vue的异步组件加载功能。在第3步中的routes对象中,我们可以使用import函数动态加载组件。示例代码如下:

const routes = [
  {
    path: '/user/:id',
    name: 'UserDetail',
    component: () => import('../views/UserDetail.vue') // 使用异步组件
  }
];

这样,在加载该路由时,组件会在需要时才被异步加载。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Vue3+Vite实现动态路由的详细实例代码 - Python技术站

(0)
上一篇 2023年5月28日
下一篇 2023年5月28日

相关文章

  • 使用 Vue 实现一个虚拟列表的方法

    Vue 实现虚拟列表可以有效提高大数据量列表的性能,这里提供一个实现虚拟列表的方法: 步骤1:定义组件 首先定义一个列表组件,可以按照下面的代码块来实现: <template> <div class="list" ref="list"> <div v-for="(item, in…

    Vue 2023年5月28日
    00
  • vue watch自动检测数据变化实时渲染的方法

    当Vue实例中的数据发生变化时,自动重新渲染视图是Vue响应式系统中最强大的功能之一。Vue提供了一种名为“watch”的特性,允许我们监测数据变化,当数据发生变化时,执行相应的回调函数。这个特性非常适用于处理异步操作、表单输入以及任何需要在特定数据变化时执行特定操作的情况。 以下是vue watch自动检测数据变化实时渲染的方法的完整攻略: 1. 创建一个…

    Vue 2023年5月29日
    00
  • vue中mock数据,模拟后台接口实例

    下面我将为您详细讲解如何在Vue中mock数据并模拟后台接口的完整攻略,包含以下流程: 安装mockjs库 配置mock数据 模拟接口请求 首先,我们需要在Vue项目中安装mockjs库,使用npm进行安装: npm install mockjs –save-dev 接着,在项目中创建一个mock文件夹,用于存放mock数据。在mock文件夹中新建一个in…

    Vue 2023年5月28日
    00
  • vue两次赋值页面获取不到的解决

    当使用Vue.js时,有时会出现在两次赋值后页面获取不到这个值的问题。这可能是由于Vue.js的异步更新导致的。以下是解决这个问题的几个方法: 方法一:使用Vue.js提供的异步更新机制 Vue.js提供了一个特殊的$nextTick方法,可以使用它在DOM更新后立即执行代码。因此,可以在重复赋值之后调用此方法,以确保您获取到正确的值。下面是一个示例代码: …

    Vue 2023年5月27日
    00
  • 封装 axios+promise通用请求函数操作

    封装 axios+promise 通用请求函数可以提高代码的复用性和可维护性,下面详细讲解一个完整的攻略。 1. 安装 axios 使用 npm 安装 axios: npm i axios 2. 创建请求函数 import axios from ‘axios’ /** * 封装 axios+promise 通用请求函数 * @param {string} u…

    Vue 2023年5月28日
    00
  • vuex入门教程,图文+实例解析

    Vuex入门教程,图文+实例解析 什么是Vuex Vuex是一个为大型单页面应用程序提供的状态管理模式,它将整个应用程序的数据状态分离出来,集中在一个数据存储库中,使应用程序的状态变得可预测。Vuex提供了一个集中式的存储空间,其中包含所有组件都可以访问的状态。 Vuex的核心概念 Vuex中的核心概念包括状态(state)、操作(mutations)、动作…

    Vue 2023年5月28日
    00
  • Django+Vue实现WebSocket连接的示例代码

    下面是详细的 Django+Vue 实现 WebSocket 连接的步骤和示例代码。 环境准备 Django 首先需要安装 Django 框架和 Django Channels 库,采用 pip 进行安装: pip install Django pip install channels Vue Vue 需要安装 Vue CLI,用于创建 Vue 项目,并安装…

    Vue 2023年5月28日
    00
  • Vue中的字符串模板的使用

    在Vue中,我们可以使用字符串模板来定义组件的模板,和使用单文件组件模板一样方便。下面是关于Vue中字符串模板的使用攻略。 使用字符串模板 在 Vue 中,我们可以使用字符串模板来定义组件的模板。字符串模板在 Vue 2 中不再支持,3 之后 Vue.js 又重新支持字符串模板的方式。 字符串模板可以定义在组件选项的 template 属性里,也可以使用 r…

    Vue 2023年5月27日
    00
合作推广
合作推广
分享本页
返回顶部