Vue实现简单用户登录页面

📑前言

本文主要是【Vue】------Vue实现简单用户登录页面的文章,如果有什么需要改进的地方还请大佬指出⛺️

🎬作者简介:大家好,我是听风与他🥇

☁️博客首页:CSDN主页听风与他

🌄每日一句:狠狠沉淀,顶峰相见

目录

页面要求:

  • 登录页面需要有标题,用来提示用户当前的登录状态
  • 在未登录时,需要有两个输入框和登录按钮供用户输入账号、密码以及进行登录操作。
  • 在登录完成后,输入框需要隐藏,需要提供按钮让用户登出

Vue实现代码:

html 复制代码
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Vue用户登录</title>
    <script src="https://unpkg.com/vue@3/dist/vue.global.js"></script>
</head>
<body>
    <div id="Application" style="text-align: center;">
        <!-- 标题 -->
      <h1>{{title}}</h1>  
      <!-- 账号和密码输入组件 -->
      <div v-if="noLogin">账号:<input v-model="username" type="text"></div>
      <div v-if="noLogin">密码:<input v-model="password" type="password"></div>
      <div v-on:click="click" style="border-radius: 30px;width: 100px;margin: 20px auto;color: white;
      background-color: blue;">{{buttonTitle}}</div>
    </div>
    <script>
        const App = {
            // 定义页面所需要的数据
            data(){
                return{
                    title:'欢迎您:未登录',
                    noLogin:true,
                    username:'',
                    password:'',
                    buttonTitle:'登录'
                }
            },
            methods:{
                // 单击登录执行按钮执行的方法
                click(){
                    if(this.noLogin){
                        this.login()
                    }else{
                        this.logout()
                    }
                },
                // 定义登录操作所执行的函数
                login(){
                    // 判断账号密码是否为空
                    if(this.username.length > 0 && this.password.length > 0){
                        // 模拟登录操作,进行弹窗提示
                        alert(`userName:${this.username} password:${this.password}`)
                        this.noLogin = false
                        this.title = `欢迎您:${this.username}`
                        this.buttonTitle = '退出'
                        this.username = ''
                        this.password = ''
                    }else{
                        alert('请输入账号密码')
                    }
                },
                // 定义登出操作所执行的函数
                logout(){
                    //清空登录数据
                    this.noLogin = true
                    this.title = '欢迎您,未登录'
                    this.buttonTitle = '登录'
                }
            }
        }
        // vue组件绑定
        Vue.createApp(App).mount("#Application")
    </script>
</body>
</html>

登录页面

登录提示

登录成功页面

点击退出-页面

📑文章末尾

相关推荐
我命由我1234519 分钟前
访客系统形式(有用户概念、无用户概念)
java·开发语言·前端·javascript·python·产品运营·产品经理
key_3_feng34 分钟前
评估与对齐:Agent 自我进化的护栏
前端·数据库·agent
程序员大阳1 小时前
副队长JavaScript教程(65)-详解JSON:轻量级数据交换格式
javascript·json·序列化·反序列化·stringify·parse
LaughingZhu1 小时前
Product Hunt 热榜 2026-10-30:Empacer、Scape、Floot in ChatGPT
java·前端·数据库·人工智能·chatgpt·notion
Lank_M1 小时前
抠图结果缩放后边缘发脏,该怪的不是插值
前端
jerrywus2 小时前
Skill、MCP、Workflow、Rules、Memory 有什么区别?拿几次真实开发任务讲清楚
前端·agent·claude
补码缩写2 小时前
canvas 与 sharp 缩放透明图:默认预乘,非预乘得拆通道
前端
静默回滚2 小时前
抠图 PNG 缩小再放大,边缘又糊又白是两件事
前端
用户11977079480732 小时前
GitHub 电商开源项目分享:用 sharp 批量出饰品主图,试了裁剪、细节图和色彩配置文件三个坑
前端·node.js
deli0072 小时前
地图定位为什么偏了 500 米?GPS 与火星坐标实测
前端