《从零搭建Vue3项目实战》(AI辅助搭建Vue3+ElemntPlus后台管理项目)零基础入门系列第六篇:页面跳转功能实现(Router的引入和使用)

🤟致敬读者

  • 🟩感谢阅读🟦笑口常开🟪生日快乐⬛早点睡觉

📘博主相关

  • 🟧博主信息🟨博客首页🟫专栏推荐🟥活动信息

文章目录

  • 《从零搭建Vue3项目实战》(AI辅助搭建Vue3+ElemntPlus后台管理项目)零基础入门系列第六篇:页面跳转功能实现(Router的引入和使用)
    • 1. 提问AI如何实现页面跳转
    • 2. 安装Router
    • 3. 配置Router
    • 4. 使用路由Router
    • 5. 登录页代码使用router进行页面跳转
    • 6. 首页代码更新(HomeView.vue)
    • 7. 页面跳转测试


📃文章前言

  • 🔷文章均为学习工作中整理的笔记。
  • 🔶如有错误请指正,共同学习进步。

《从零搭建Vue3项目实战》(AI辅助搭建Vue3+ElemntPlus后台管理项目)零基础入门系列第六篇:页面跳转功能实现(Router的引入和使用)

从零搭建Vue3项目实战,借助AI工具辅助学习和代码生成,零基础小白亦可轻松上手实现。

以下为系列篇所有文章:
《从零搭建Vue3项目实战》零基础入门系列第一篇:开发环境准备
《从零搭建Vue3项目实战》零基础入门系列第二篇:项目创建和初始化
《从零搭建Vue3项目实战》零基础入门系列第三篇:ElementPlus引入和应用
《从零搭建Vue3项目实战》零基础入门系列第四篇:登录页面实现
《从零搭建Vue3项目实战》零基础入门系列第五篇:登录页面优化及使用AI学习代码
《从零搭建Vue3项目实战》零基础入门系列第六篇:页面跳转功能实现(Router的引入和使用)
《从零搭建Vue3项目实战》零基础入门系列第七篇:菜单栏实现
《从零搭建Vue3项目实战》零基础入门系列第八篇:菜单栏优化和阶段项目源码
《从零搭建Vue3项目实战》零基础入门系列第九篇:用户管理功能实现
《从零搭建Vue3项目实战》零基础入门系列第十篇:商品管理功能实现
《从零搭建Vue3项目实战》零基础入门系列第十一篇:订单管理功能实现
《从零搭建Vue3项目实战》零基础入门系列第十二篇(完结篇):数据统计功能实现
《从零搭建Vue3项目实战》零基础入门一篇通关(AI辅助搭建Vue3+ElemntPlus后台管理项目)

系列文章均收录在前端vue3入门实战专栏中,可订阅专栏了解更多内容

1. 提问AI如何实现页面跳转

在完成登录页的功能后,如何实现登录后跳转到首页,下面进行实现
AI提示词

如何使用router进行页面跳转

ai回答先让安装router,然后配置router,最后使用router,我们之前在创建项目时已经勾选了router,所以安装和引入就不需要了,直接使用即可,但为了更熟悉router的内容,这里也将安装和引入步骤写上,你无需操作,直接从使用那一步开始即可

2. 安装Router

安装router的命令,默认下载最新版本

npm install vue-router

如图中的命令不是完全正确,@符号后跟的是版本号,可指定版本
在这里插入图片描述

3. 配置Router

在src/router/index.js代码中配置router,注意,这里可能和之前的代码有所区别,无需修改原来的代码,这里也可以参考

// src/router/index.js
import { createRouter, createWebHistory } from 'vue-router';
import LoginView from '../views/LoginView.vue';
import HomeView from '../views/HomeView.vue'; // 假设你有一个 HomeView.vue 页面const routes = [{path: '/',name: 'Login',component: LoginView},{path: '/home',name: 'Home',component: HomeView}
];const router = createRouter({history: createWebHistory(),routes
});export default router;

如下图
在这里插入图片描述

4. 使用路由Router

在main.js中使用路由配置,ai回答的main.js的代码如下(无需修改原来的代码,这里知识ai回答的使用方法)

// src/main.js
import { createApp } from 'vue';
import App from './App.vue';
import router from './router';const app = createApp(App);
app.use(router);
app.mount('#app');

ai回答如下图
在这里插入图片描述

5. 登录页代码使用router进行页面跳转

ai回答第四步,在LoginView.vue中修改handleLogin方法中的代码,使用router进行页面跳转
应用后的代码如下,先将原来的LoginVeiw.vue代码内容全部删除,将ai回答的代码使用右上角的使用代码图标应用代码,如下图
在这里插入图片描述
在这里插入图片描述

更新后的完整代码如下(最终使用的代码)
LoginView.vue

<template><div class="login-container"><div class="login-form"><h2>Login</h2><el-form :model="loginForm" label-width="100px"><el-form-item label="Account"><el-input v-model="loginForm.account"></el-input></el-form-item><el-form-item label="Password"><el-input type="password" v-model="loginForm.password" show-password></el-input></el-form-item><el-form-item><el-button type="primary" @click="handleLogin">Login</el-button></el-form-item></el-form></div></div>
</template><script setup>
import { reactive } from 'vue';
import { useRouter } from 'vue-router';const router = useRouter();const loginForm = reactive({account: '',password: ''
});const handleLogin = () => {// 登录逻辑console.log('Login form:', loginForm);// 假设登录成功后跳转到 Home 页面router.push({ name: 'Home' });
};
</script><style scoped>
.login-container {display: flex;justify-content: center;align-items: center;height: 100vh;background-image: url('@/assets/login01img.jpg'); /* 确保路径正确 */background-size: cover;background-position: center;
}.login-form {background: rgba(255, 255, 255, 0.8);padding: 20px;border-radius: 8px;box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
}
</style>

6. 首页代码更新(HomeView.vue)

跳转后的首页界面代码修改,将原来的代码删除,然后在ai回答的HomeView.vue代码内容右上角使用代码
在这里插入图片描述

更新后的代码如下
HomeView.vue

<!-- src/views/HomeView.vue -->
<template><div class="home-container"><h1>Welcome to Home Page</h1></div>
</template><style scoped>
.home-container {display: flex;justify-content: center;align-items: center;height: 100vh;background-color: #f0f0f0;
}
</style>

7. 页面跳转测试

打开浏览器,访问登录页,输入内容后点击登录按钮
出现问题了,并没有正确跳转到首页页面,浏览器页面鼠标右键打开检查Inspect),打开控制台,如下
在这里插入图片描述报错内容如下

runtime-core.esm-bundler.js:268 Uncaught Error: No match for{"name":"Home","params":{}}at handleLogin (LoginView.vue:35:10)

no match for name Home表示无法匹配路由地址名Home,代码在LoginView.vue的35行
这里跳转过去的路由地址的名称为Home
在这里插入图片描述

但路由router/index.js中配置的是home,如下图
在这里插入图片描述两个地方的名称不一致,现在修改为一致即可
将LoginView.vue中的Home修改为home
修改后的LoginView.vue代码如下

<template><div class="login-container"><div class="login-form"><h2>Login</h2><el-form :model="loginForm" label-width="100px"><el-form-item label="Account"><el-input v-model="loginForm.account"></el-input></el-form-item><el-form-item label="Password"><el-input type="password" v-model="loginForm.password" show-password></el-input></el-form-item><el-form-item><el-button type="primary" @click="handleLogin">Login</el-button></el-form-item></el-form></div></div>
</template><script setup>
import { reactive } from 'vue';
import { useRouter } from 'vue-router';const router = useRouter();const loginForm = reactive({account: '',password: ''
});const handleLogin = () => {// 登录逻辑console.log('Login form:', loginForm);// 假设登录成功后跳转到 Home 页面router.push({ name: 'home' });
};
</script><style scoped>
.login-container {display: flex;justify-content: center;align-items: center;height: 100vh;background-image: url('@/assets/login01img.jpg'); /* 确保路径正确 */background-size: cover;background-position: center;
}.login-form {background: rgba(255, 255, 255, 0.8);padding: 20px;border-radius: 8px;box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
}
</style>

再次访问浏览器,登录,页面正常跳转到HomeView.vue对应的页面,如下
在这里插入图片描述
以上就是页面跳转的内容


📜文末寄语

  • 🟠关注我,获取更多内容。
  • 🟡技术动态、实战教程、问题解决方案等内容持续更新中。
  • 🟢《全栈知识库》技社区,集结全栈各领域开发者,期待你的加入。
  • 🔵​加入开发者的《专属社群》,分享交流,技术之路不再孤独,一起变强。
  • 🟣点击下方名片获取更多内容🍭🍭🍭👇

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/47.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Windows 图形显示驱动开发-WDDM 2.0功能_分配用法跟踪

随着分配列表的消失&#xff0c;视频内存管理器 (VidMm) 不再能够查看特定命令缓冲区中引用的分配。 因此&#xff0c;VidMm 不再能够跟踪分配使用情况和处理相关同步。 此责任现在由用户模式驱动程序 (UMD) 承担。 具体而言&#xff0c;UMD 需要处理与直接 CPU 访问分配和重命…

TCP 与 UDP

TCP 与 UDP 的区别&#xff08;重要&#xff09; 是否面向连接&#xff1a;UDP 在传送数据之前不需要先建立连接。而 TCP 提供面向连接的服务&#xff0c;在传送数据之前必须先建立连接&#xff0c;数据传送结束后要释放连接。是否是可靠传输&#xff1a;远地主机在收到 UDP 报…

什么是混合搜索Hybrid Search?

🧠 向所有学习者致敬! “学习不是装满一桶水,而是点燃一把火。” —— 叶芝 我的博客主页: https://lizheng.blog.csdn.net 🌐 欢迎点击加入AI人工智能社区! 🚀 让我们一起努力,共创AI未来! 🚀 混合搜索通常指一种结合多种搜索方法或技术的搜索策略,旨在提供更…

【深度学习:理论篇】--Pytorch基础入门

目录 1.Pytorch--安装 2.Pytorch--张量 3.Pytorch--定义 4.Pytorch--运算 4.1.Tensor数据类型 4.2.Tensor创建 4.3.Tensor运算 4.4.Tensor--Numpy转换 4.5.Tensor--CUDA&#xff08;GPU&#xff09; 5.Pytorch--自动微分 &#xff08;autograd&#xff09; 5.1.back…

浅层神经网络:全面解析(扩展)

浅层神经网络&#xff1a;全面解析&#xff08;扩展&#xff09; 前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;可以分享一下给大家。点击跳转到网站。 https://www.captainbed.cn/ccc 一、神经网络架构演进图谱 #mermaid-svg-…

Ubuntu小练习

文章目录 一、远程连接1、通过putty连接2、查看putty运行状态3、通过Puuty远程登录Ubuntu4、添加新用户查看是否添加成功 5、用新用户登录远程Ubuntu6、使用VNC远程登录树莓派 二、虚拟机上talk聊天三、Opencv1、简单安装版&#xff08;适合新手安装&#xff09;2、打开VScode特…

Maven的安装配置-项目管理工具

各位看官&#xff0c;大家早安午安晚安呀~~~ 如果您觉得这篇文章对您有帮助的话 欢迎您一键三连&#xff0c;小编尽全力做到更好 欢迎您分享给更多人哦 今天我们来学习&#xff1a;Maven的安装配置-项目管理工具 目录 1.什么是Maven&#xff1f;Maven用来干什么的&#xff1f…

VSCode英文翻译插件:变量命名、翻单词、翻句子

目录 【var-translate】 【Google Translate】 【code-translator】 【其他插件】 【var-translate】 非常推荐&#xff0c;可以提供小驼峰、大驼峰、下划线、中划线、常量等翻译&#xff0c;Windows下快捷键为Ctrl Shift v 可以整句英文翻译&#xff0c;并且支持多个免费…

【Linux网络】网络套接字socket

&#x1f308;个人主页&#xff1a;秦jh__https://blog.csdn.net/qinjh_?spm1010.2135.3001.5343 &#x1f525; 系列专栏&#xff1a;https://blog.csdn.net/qinjh_/category_12891150.html 目录 Socket 编程预备 理解源 IP 地址和目的 IP 地址 认识端口号 端口号范围划分…

C++自学笔记——动态创建对象

动态创建对象 1. 什么是动态创建对象&#xff1f; 在学习之前的知识点时&#xff0c;我们知道有静态存储期和自动存储期。 静态存储期的对象在程序的整个生命周期内都存在&#xff0c;全局变量和static修饰的局部变量都属于这一类。自动存储期的对象&#xff0c;这些对象在函…

2025 年浙江保安员职业资格考试高效备考指南​

浙江以创新活力著称&#xff0c;保安行业也在不断革新。2025 年考试报考条件常规&#xff0c;报名主要通过浙江省保安服务监管信息系统&#xff0c;方便快捷。​ 理论考试在传统知识基础上&#xff0c;加大对智能安防技术应用的考查&#xff0c;如人脸识别系统、智能监控报警系…

2022第十三届蓝桥杯大赛软件赛省赛C/C++ 大学 B 组(题解解析)

记录刷题的过程、感悟、题解。 希望能帮到&#xff0c;那些与我一同前行的&#xff0c;来自远方的朋友&#x1f609; 大纲&#xff1a; 1、九进制转十进制-&#xff08;解析&#xff09;-简单的进制转化问题&#x1f604; 2、顺子日期-&#xff08;解析&#xff09;-考察日期 3…