Vue3+Vant开发:个人信息管理

🙈作者简介:练习时长两年半的Java up主
🙉个人主页:程序员老茶
🙊 ps:点赞👍是免费的,却可以让写博客的作者开心好久好久😎
📚系列专栏:Java全栈,计算机系列(火速更新中)
💭 格言:种一棵树最好的时间是十年前,其次是现在
🏡动动小手,点个关注不迷路,感谢宝子们一键三连

目录

  • 课程名:Java
    • 内容/作用:知识点/设计/实验/作业/练习
    • 学习:Java
    • 1、TabBar处理
    • 2、未登录布局实现
    • 3、已登录布局实现
    • 4、宫格导航布局
    • 5、消息通知与退出登录布局
    • 6、处理页面显示状态
    • 7、退出登录
    • 8、展示当前登录用户信息
    • 9、用户头像处理
    • 10、优化设置Token
    • 总结

课程名:Java

内容/作用:知识点/设计/实验/作业/练习

学习:Java

这里,我们主要实现个人信息的展示,以及实现个人信息管理的页面布局实现

1、TabBar处理

在个人信息管理页面的底部,我们发现有一组“标签导航栏”。

而且这一组“标签导航栏”在每个页面中都有。

那么我们应该怎样处理呢?
第一种方案:在每个页面中都创建一遍,但是这种做法比较麻烦,所以不建议这样做。

第二种方案:将其单独的封装成一个 组件,这样每个页面中需要标签导航栏的时候,直接使用该组件就可以了。但是,这里我们也不建议这样做,因为,当我们切换到不同的页面的时候,这个组件都会重新被渲染加载,这样就会影响性能。

第三种方式:我们做一个父路由,把底部的标签导航栏放在父路由中,同时在父路由中留一个路由的出口。对应的其它页面都都渲染到这个路由出口的位置。这样,当我们进行页面的切换的时候,就不需要重新加载底部的“导航栏”了

views目录下面创建layout目前,同时在该目录下面创建index.vue文件,该文件中的代码如下所示:

在下面代码中,先来指定子路由的出口,后面在对标签导航栏进行设置

<template><div class="layout-container"><!-- 子路由的出口 --><router-view></router-view><!-- 标签导航栏 --></div>
</template><script>
export default {};
</script><style></style>

配置路由规则:

const routes = [{path: "/login",name: "login",component: () => import("../views/login/index.vue"),},{ //配置路由path: "/",name: "layout",component: () => import("../views/layout/index.vue"),},
];

下面,我们返回到index.vue页面,开始制作底部的标签导航栏

https://vant-contrib.gitee.io/vant/v3/#/zh-CN/tabbar
<template><div class="layout-container"><!-- 子路由的出口 --><router-view></router-view><!-- 标签导航栏 --><van-tabbar v-model="active"><van-tabbar-item icon="home-o">标签</van-tabbar-item><van-tabbar-item icon="search">标签</van-tabbar-item><van-tabbar-item icon="friends-o">标签</van-tabbar-item><van-tabbar-item icon="setting-o">标签</van-tabbar-item></van-tabbar></div>
</template><script>
import { ref } from "vue";
export default {setup() {const active = ref(0);return {active,};},
};
</script><style></style>

在上面的代码中,我们直接把官方文档中的tabbar组件,拿过来了。v-model的取值为active,而active这个对象的默认值为0,也就是让人第一项导航栏进行选中。icon属性表示的就是导航栏中每一项的图标,下面把文字修改一下:

   <van-tabbar-item icon="home-o">首页</van-tabbar-item><van-tabbar-item icon="search">问答</van-tabbar-item><van-tabbar-item icon="friends-o">视频</van-tabbar-item><van-tabbar-item icon="setting-o">我的</van-tabbar-item>

下面把视频我的图标更换一下:

<van-tabbar v-model="active"><van-tabbar-item icon="home-o">首页</van-tabbar-item><van-tabbar-item icon="search">问答</van-tabbar-item><van-tabbar-item icon="video-o">视频</van-tabbar-item><van-tabbar-item icon="contact">我的</van-tabbar-item></van-tabbar>

这里我们还是使用的vant中提供好的一些图标,当然这里我们也可以使用自定义图标,在官方文档中也已经明确的告诉我们怎样使用自定义图标了。

下面,我们要实现的就是,单击不同的项,展示出各自对应的页面。

首先在views目录中,创建对应的文件夹与文件。

创建home文件夹,在该文件夹中创建index.vue文件,表示首页,该文件的初步内容为:

<template><div>Home Page</div>
</template><script>
export default {};
</script><style></style>

my/index.vue

<template><div>我 的</div>
</template><script>
export default {};
</script><style></style>

video/index.vue

<template><div>视频</div>
</template><script>
export default {};
</script><style></style>

qa/index.vue

<template><div>问答</div>
</template><script>
export default {};
</script><style></style>

初步的页面创建好以后,下面需要配置对应的子路由了。router/index.js设置路由

{path: "/",name: "layout",component: () => import("../views/layout/index.vue"),children: [{path: "", //默认子路由(默认展示home页面),只能有一个name: "home",component: () => import("../views/home/index.vue"),},{path: "/qa",name: "qa",component: () => import("../views/qa/index.vue"),},{path: "/video",name: "video",component: () => import("../views/video/index.vue"),},{path: "/my",name: "my",component: () => import("../views/my/index.vue"),},],},

在值的路由中,最开始设置了默认子路由。

下面返回到浏览器中,进行测试,发现默认展示的就是home组件中的内容,但是当我们单击tabbar中的每一项的时候,还没有进行切换。

原因是,这里我们需要给tabbar开启路由功能。

返回到views/layout/index.vue页面中。

  <van-tabbar route v-model="active"><van-tabbar-item icon="home-o" to="/">首页</van-tabbar-item><van-tabbar-item icon="search" to="/qa">问答</van-tabbar-item><van-tabbar-item icon="video-o" to="/video">视频</van-tabbar-item><van-tabbar-item icon="contact" to="/my">我的</van-tabbar-item></van-tabbar>

第一步:给tabber组件添加了route属性,表示开启了路由的模式

第二步:给每个tabbar-item添加了to属性,指定了对应的路由地址、

这时候,可以发现浏览器进行测试。

2、未登录布局实现

下面修改views/my/index.vue文件中的代码,代码如下所示:

<template><div class="my-container"><div class="header not-login"><div class="login-btn" @click="this.$router.push('/login')"><img class="mobile-img" src="../../assets/mobile.png" alt="" /><span class="text">注册 / 登录</span></div></div></div>
</template><script>
export default {};
</script><style>
.my-container .header {height: 361px; background: url("../../assets/banner.png");background-size: cover;
}
.my-container .not-login { /* 没有登录的效果样式*/display: flex;justify-content: center;align-items: center;
}
.my-container .not-login .login-btn {display: flex;flex-di

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

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

一个联合均值与方差模型的R包——dglm

目录 一、引言二、包的安装与载入三、模拟例子3.1 数据生成3.2 数据查看3.3 模型估计参数 一、引言 在 R 语言中&#xff0c;dglm 包是用于拟合双参数广义线性模型&#xff08;Double Generalized Linear Models&#xff0c;简称 DGLMs&#xff09;的一个工具。这类模型允许同…

C语言实现双人贪吃蛇项目(基于控制台界面)

一.贪吃蛇 贪吃蛇是一款简单而富有乐趣的游戏&#xff0c;它的规则易于理解&#xff0c;但挑战性也很高。它已经成为经典的游戏之一&#xff0c;并且在不同的平台上一直受到人们的喜爱和回忆。 二.贪吃蛇的功能 游戏控制&#xff1a;玩家可以使用键盘输入设备来控制蛇的移动方…

139GB,台北倾斜摄影OSGB数据V0.1版

本月初发布了谷歌倾斜摄影数据OSGB转换工具V0.2版(更新&#xff01;谷歌倾斜摄影转换生成OSGB瓦片V0.2版),并免费分享了基于V0.2版转换工具生产的澳门地区OSGB数据(首发&#xff01;澳门地区OSGB数据V0.2版免费分享),V0.2版本在生产速度、显示效率和OSGB数据轻量化方面进行了优…

NVIDIA Jetson jtop查看资源信息

sudo -H pip install -U jetson-stats 安装好之后可能需要reboot 执行jtop&#xff1a; 时间久了可能会退出&#xff0c;可参考如下再次启动。 nvidiategra-ubuntu:~$ jtop The jtop.service is not active. Please run: sudo systemctl restart jtop.service nvidiategra-ub…

修改docker镜像版本,容器大小缩小10%!

shigen坚持更新文章的博客写手&#xff0c;擅长Java、python、vue、shell等编程语言和各种应用程序、脚本的开发。记录成长&#xff0c;分享认知&#xff0c;留住感动。 个人IP&#xff1a;shigen 是的&#xff0c;你看的没错&#xff1a;修改docker镜像的版本&#xff0c;我的…

最新知识付费小程序源码独立版 支持多终端合一+源码开源可二开+含完整代码包和安装教程

在当今信息爆炸的时代&#xff0c;知识付费逐渐成为了一种新型的商业模式。为了满足广大开发者和运营者的需求&#xff0c;分享一个最新版的知识付费小程序源码独立版。该版本不仅支持多终端合一&#xff0c;还具备源码开源可二开的特性&#xff0c;同时提供了完整的代码包和安…

【性能测试】ChaosTesting(混沌测试)ChaosBlade(混沌实验工具)(六)-servelt

7. servelt接口规范 7.0 创建servelt blade create servlet 7.0.1 介绍 Servlet 是 Java 的 web 的接口规范&#xff0c;Java web 服务器都遵循此规范实现。本场景主要模拟 Java Web 请求延迟、异常场景。 [blade create servlet delay](blade create servlet delay.md) 请…

网页自动跳转到其他页面,点击浏览器返回箭头,回不到原来页面的问题

背景&#xff1a;今天产品提个需求&#xff0c;需要从index页面自动触发跳转到下一页面的事件&#xff0c;从而不做任何操作&#xff0c;直接跳转到test页面。 代码是这样的&#xff1a; index.vue: <template><div style"width:500px;height:600px;background-…

WIFISKY 7层流控路由器 confirm.php RCE漏洞复现

0x01 产品简介 WIFISKY-7层流控路由器是一款可用于家庭或办公环境的无线路由器,具备流控功能以优化网络流量和提供更稳定的网络连接。该路由器采用了7层流控技术,能够依据网络数据包的内容进行智能管理,从而实现对网络流量的精细化控制和优化。这种技术可以提升网络的整体性…

Science Robotics 美国斯坦福大学研制了外行星洞穴探测机器人

月球和火星上的悬崖、洞穴和熔岩管已被确定为具有地质和天体生物学研究理想地点。由于其隔绝特性&#xff0c;这些洞穴提供了相对稳定的条件&#xff0c;可以促进矿物质沉淀和微生物生长。在火星上&#xff0c;这些古老的地下环境与火星表面可能适合居住时几乎没有变化&#xf…

孙中亮:北斗三十周年,看北斗芯片高质量发展历程和方向

1994年1月10日&#xff0c;北斗一号建设正式启动&#xff0c;党中央决策建设独立自主的北斗卫星导航系统。2020年7月31日&#xff0c;北斗三号全球卫星导航系统正式开通&#xff0c;标志着北斗系统进入全球化发展新阶段。随着2024年的到来&#xff0c;北斗系统建设已走过栉风沐…

上位机图像处理和嵌入式模块部署(树莓派4b与视觉slam十四讲)

【 声明&#xff1a;版权所有&#xff0c;欢迎转载&#xff0c;请勿用于商业用途。 联系信箱&#xff1a;feixiaoxing 163.com】 实际使用中&#xff0c;树莓派4b是非常好的一个基础平台。本身板子价格也不是很贵&#xff0c;建议大家多多使用。之前关于vslam&#xff0c;也就是…

ChatGPT实战100例 - (18) 用事件风暴玩转DDD

文章目录 ChatGPT实战100例 - (18) 用事件风暴玩转DDD一、标准流程二、定义目标和范围三、准备工具和环境四、列举业务事件五、 组织和排序事件六、确定聚合并引入命令七、明确界限上下文八、识别领域事件和领域服务九、验证和修正模型十、生成并验证软件设计十一、总结 ChatGP…

力扣HOT100 - 108. 将有序数组转换为二叉搜索树

解题思路&#xff1a; 二叉搜索树一般使用中序遍历 class Solution {public TreeNode sortedArrayToBST(int[] nums) {return helper(nums,0,nums.length-1);}public TreeNode helper(int[] nums,int left,int right){if(left>right) return null;//确定根节点//总是选择中…

2024年阿里云域名注册活动,com域名1元起,cn域名33元起

随着互联网的飞速发展&#xff0c;一个好的域名已经成为了企业或个人在线身份的重要标志。注册域名是很多用户开启互联网业务的第一步&#xff0c;2024年很多注册商现在com域名注册都快逼近80元了。作为国内最大的域名注册商与云服务商&#xff0c;近日&#xff0c;阿里云推出了…

提升你的C编程技能:使用cURL下载Kwai视频

概述 本文将介绍如何利用C语言以及cURL库来实现Kwai视频的下载。cURL作为一个功能强大的网络传输工具&#xff0c;能够在C语言环境下轻松地实现数据的传输。我们还将探讨如何运用代理IP技术&#xff0c;提升爬虫的匿名性和效率&#xff0c;以适应Kwai视频平台的发展趋势。 正…

Java web应用性能分析之【Linux服务器性能监控分析概叙】

大多数场景&#xff0c;我们的Java web应用都是部署在linux环境&#xff0c;所以对linux服务器的性能指标需要有一个比较清晰的认识。Linux服务器的性能指标无非就5个方面&#xff1a;CPU、内存、磁盘、网络、文件系统。不同的性能指标都有对应的命令进行监控和查看&#xff08…

【前端面试常问】什么是前端工程化

&#x1f31f;【前端面试常问】前端工程化&#x1f31f; &#x1f4da; 什么是前端工程化&#xff1f; &#x1f389; 前端工程化&#xff0c;简而言之&#xff0c;是通过整合先进的工具链和最佳实践&#xff0c;将前端开发过程实现标准化、自动化和高效化的过程&#xff0c;…

美森快船和以星快船有什么区别?美线海运都有哪些快船?

在繁忙的国际海运市场中&#xff0c;快船服务以其高效、快捷的特点受到广大货主的青睐。其中&#xff0c;美森快船和以星快船作为知名的海运服务提供商&#xff0c;凭借着卓越的服务品质&#xff0c;在航运界树立了良好的口碑。那么&#xff0c;美森快船和以星快船究竟有何不同…

探讨自回归模型和扩散模型的发展应用

在当前大模型驱动的内容创新浪潮中&#xff0c;人工智能产业正以前所未有的力度拥抱一场由大模型技术策动的科技革新运动。这场革命不仅重塑了人机交互的边界&#xff0c;使其跃升至更高层次的认知协作&#xff0c;而且正在颠覆传统的计算思维与执行模式&#xff0c;催生出全新…