从零开始手把手Vue3+TypeScript+ElementPlus管理后台项目实战五(引入vue-router,并给注册功能加上美丽的外衣el-form)

本文主要是介绍从零开始手把手Vue3+TypeScript+ElementPlus管理后台项目实战五(引入vue-router,并给注册功能加上美丽的外衣el-form),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

安装vue-router

pnpm install vue-router

创建router

src下新增router目录,ruoter目录中新增index.ts

import { createRouter, createWebHashHistory } from "vue-router";
const routes = [{path: "/",name: "Home",component: () => import("@/views/home/index.vue"),},{path: "/register",name: "Register",component: () => import("@/views/register/index.vue"),}
];const router = createRouter({history: createWebHashHistory(),routes,
});export default router;

创建首页

src下新增views目录,views目录下新增home目录,home目录下新增index.vue文件

<template><div>this is home page</div><div class="txt-r"><router-link to="/register">没有账号?去注册</router-link></div>
</template>

创建注册页

views目录下新增register目录,register目录下新增index.vue文件

<template><div><el-form :model="user" label-width="86px"><h3 class="title">系统注册</h3><el-form-item label="用户名" prop="username"><el-input v-model="user.username" placeholder="请输入用户名" prefix-icon="user"></el-input></el-form-item><el-form-item label="邮箱" prop="email"><el-input v-model="user.email" placeholder="请输入邮箱" prefix-icon="message"></el-input></el-form-item><el-form-item label="密码" prop="password"><el-input v-model="user.password" type="password" placeholder="请输入密码" prefix-icon="lock"></el-input></el-form-item><el-form-item label><el-button type="primary" @click="doRegister">注册</el-button></el-form-item></el-form></div>
</template><script setup lang="ts">
import { useRouter } from 'vue-router';
import { register } from '@/api';
import { ref } from 'vue'
import type { User } from '@/types';
const router = useRouter();const user = ref<User>({email: '',username: '',password: ''
});const doRegister = async () => {try {const res = await register({ user: user.value });console.log(res.data.user);router.push({ name: 'Home' });} catch (error) {}
}
</script>

main.ts引入router对象

1717483754741.png

修改App.vue

<template><router-view></router-view>
</template>

运行测试

1717483900786.png

点击 去注册

1717483961286.png

表单校验

修改register/index.vue

1717484462704.png

1717484509859.png

1717484531557.png

再次测试验证

41a1d287d7a92972e664a160fefb6ce.png

这篇关于从零开始手把手Vue3+TypeScript+ElementPlus管理后台项目实战五(引入vue-router,并给注册功能加上美丽的外衣el-form)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1041192

相关文章

sky-take-out项目中Redis的使用示例详解

《sky-take-out项目中Redis的使用示例详解》SpringCache是Spring的缓存抽象层,通过注解简化缓存管理,支持Redis等提供者,适用于方法结果缓存、更新和删除操作,但无法实现... 目录Spring Cache主要特性核心注解1.@Cacheable2.@CachePut3.@Ca

Debian 13升级后网络转发等功能异常怎么办? 并非错误而是管理机制变更

《Debian13升级后网络转发等功能异常怎么办?并非错误而是管理机制变更》很多朋友反馈,更新到Debian13后网络转发等功能异常,这并非BUG而是Debian13Trixie调整... 日前 Debian 13 Trixie 发布后已经有众多网友升级到新版本,只不过升级后发现某些功能存在异常,例如网络转

Redis实现高效内存管理的示例代码

《Redis实现高效内存管理的示例代码》Redis内存管理是其核心功能之一,为了高效地利用内存,Redis采用了多种技术和策略,如优化的数据结构、内存分配策略、内存回收、数据压缩等,下面就来详细的介绍... 目录1. 内存分配策略jemalloc 的使用2. 数据压缩和编码ziplist示例代码3. 优化的

从原理到实战解析Java Stream 的并行流性能优化

《从原理到实战解析JavaStream的并行流性能优化》本文给大家介绍JavaStream的并行流性能优化:从原理到实战的全攻略,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的... 目录一、并行流的核心原理与适用场景二、性能优化的核心策略1. 合理设置并行度:打破默认阈值2. 避免装箱

Maven中生命周期深度解析与实战指南

《Maven中生命周期深度解析与实战指南》这篇文章主要为大家详细介绍了Maven生命周期实战指南,包含核心概念、阶段详解、SpringBoot特化场景及企业级实践建议,希望对大家有一定的帮助... 目录一、Maven 生命周期哲学二、default生命周期核心阶段详解(高频使用)三、clean生命周期核心阶

SpringBoot集成XXL-JOB实现任务管理全流程

《SpringBoot集成XXL-JOB实现任务管理全流程》XXL-JOB是一款轻量级分布式任务调度平台,功能丰富、界面简洁、易于扩展,本文介绍如何通过SpringBoot项目,使用RestTempl... 目录一、前言二、项目结构简述三、Maven 依赖四、Controller 代码详解五、Service

Python实战之SEO优化自动化工具开发指南

《Python实战之SEO优化自动化工具开发指南》在数字化营销时代,搜索引擎优化(SEO)已成为网站获取流量的重要手段,本文将带您使用Python开发一套完整的SEO自动化工具,需要的可以了解下... 目录前言项目概述技术栈选择核心模块实现1. 关键词研究模块2. 网站技术seo检测模块3. 内容优化分析模

深入解析C++ 中std::map内存管理

《深入解析C++中std::map内存管理》文章详解C++std::map内存管理,指出clear()仅删除元素可能不释放底层内存,建议用swap()与空map交换以彻底释放,针对指针类型需手动de... 目录1️、基本清空std::map2️、使用 swap 彻底释放内存3️、map 中存储指针类型的对象

Java 正则表达式的使用实战案例

《Java正则表达式的使用实战案例》本文详细介绍了Java正则表达式的使用方法,涵盖语法细节、核心类方法、高级特性及实战案例,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要... 目录一、正则表达式语法详解1. 基础字符匹配2. 字符类([]定义)3. 量词(控制匹配次数)4. 边

Java Scanner类解析与实战教程

《JavaScanner类解析与实战教程》JavaScanner类(java.util包)是文本输入解析工具,支持基本类型和字符串读取,基于Readable接口与正则分隔符实现,适用于控制台、文件输... 目录一、核心设计与工作原理1.底层依赖2.解析机制A.核心逻辑基于分隔符(delimiter)和模式匹