首页 > 其他分享 >Vue中简单的组件,登录和注册切换

Vue中简单的组件,登录和注册切换

时间:2024-09-13 17:25:52浏览次数:9  
标签:username Vue 登录 注册 组件 login password

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<style>
    .v-enter-active,
    .v-leave-active {
        transition: all 0.5s ease;
    }

    .v-enter,
    .v-leave-to {
        opacity: 0;
        transform: translateX(30px);
    }
</style>

<body>
    <div id="app">
        <!-- 第一种方式:
        <a href="" @click.prevent="flag=true">登录 </a> | <a href="" @click.prevent="flag=false">/ 注册</a>
        <login v-if="flag"></login>
         <register v-else></register> -->

        <!-- 第二种方式:— -->
        <!-- <button @click="flag=true">登录 </button> | <button @click="flag=false">/ 注册</button>
         <component :is="flag ? 'login' :'register'"></component> -->
        <!-- 第三种方式:— -->
        <button @click.prevent="componentName='login'">登录 </button> | <button
            @click.prevent="componentName='register'">/ 注册</button>
        <transition>
         <component :is="componentName"></component>
        </transition>


    </div>
    <!--    登录组件模板   -->
    <template id="login">
        <div>

            <input type="text" placeholder="请输入用户名" v-model="username"><br>
            <input type="password" placeholder="请输入密码" v-model="password"><br>
            <button type="button" @click="login">登录</button>
        </div>
    </template>
    <!--    注册组件模板   -->
    <template id="register">
        <div>

            <input type="text" placeholder="请输入用户名" v-model="username"><br>
            <input type="password" placeholder="请输入密码" v-model="password"><br>
            <label><input type="radio" name="sex" value="男">男</label>
            <label><input type="radio" name="sex" value="女">女</label><br>
            <button type="button" @click="register">注册</button>
        </div>
    </template>
    <script src="vue.js"></script>

    <!--    注册组件注册   -->
    <script>
        Vue.component('register', {
            template: '#register',
            data() {
                return {
                    username: '',
                    password: '',
                    sex: ''
                }
            },
            methods: {
                register() {
                    console.log(this.username, this.password, this.sex)
                }
            }
        })

    </script>

    <!--    登录组件注册   -->
    <script>
        Vue.component('login', {
            template: '#login',
            data() {
                return {
                    username: '',
                    password: ''
                }
            },
            methods: {
                login() {
                    console.log(this.username, this.password)
                }
            }
        })
    </script>



    <script>
        var vm = new Vue({
            el: '#app',
            data: {
                message: 'Hello Vue.js!',
                flag: true,
                componentName: 'login'
            }

        })
    </script>
</body>

</html>

标签:username,Vue,登录,注册,组件,login,password
From: https://www.cnblogs.com/zy8899/p/18412580

相关文章

  • A178-基于java+springboot+vue开发的租房网站(源码+数据库+LW+部署文档)
    功能介绍平台采用B/S结构,后端采用主流的Springboot框架进行开发,前端采用主流的Vue.js进行开发。整个平台包括前台和后台两个部分。前台功能包括:首页、房屋详情页、门票订单、用户中心模块。后台功能包括:总览、订单管理、房屋管理、分类管理、设施管理、评论管理、用户管理、......
  • 网站后台登录提示:”登录失败:数据库目录写入权限不足!“
    当PbootCMS后台登录时提示“登录失败:数据库目录写入权限不足!”时,这通常意味着用于存储数据库文件的目录(通常是data目录)的权限设置不正确,导致PHP无法写入必要的文件。以下是解决此问题的步骤:1.确认目录位置确认数据库目录的位置,通常是网站根目录下的data目录。2.更改目录权限......
  • 【生产力必备工具】GPU加速计算的首选云服务——蓝耘GPU(点击我的链接注册登录,可获50使
    点击下面我的链接注册并登录,可获50使用卷:https://cloud.lanyun.net/#/registerPage?promoterCode=11f606c51ehttps://cloud.lanyun.net/#/registerPage?promoterCode=11f606c51e获得广泛丰富的NVIDIA高端GPU选择。高可配置高可用,专为大规模GPU加速工作负载而构建,按需提供。核......
  • [Vue] Object.defineProperty 什么情况监听不到?和 Proxy 响应式原理又何区别?
    前言Vue2.x采用的是Object.defineProperty来实现响应式系统,它只能监听已经存在的属性,无法监听对象属性的新增或删除。Vue3使用Proxy拦截对对象和数组的访问和修改,实现了响应式系统。它通过拦截这些操作,追踪哪些数据被访问、修改,从而在数据变化时通知相关的依赖。Object......
  • vue3 el-message组件封装
    背景在封装请求拦截器时,使用ElMessage进行弹窗提示成功或失败,但是如果页面用到多个接口,这时就会导致页面出现很多弹窗,导致用户体验不好,有可能出现卡顿现象。这时就需要进行一些判断,如果前面的ElMessage还没关闭并且类型是一致的就return,不再弹窗提示,类型不一致时就要弹窗提示......
  • 基于Node.js+vue职位智能匹配系统(开题+程序+论文) 计算机毕业设计
    本系统(程序+源码+数据库+调试部署+开发环境)带文档lw万字以上,文末可获取源码系统程序文件列表开题报告内容研究背景随着信息技术的飞速发展和互联网应用的普及,人才招聘市场迎来了前所未有的变革。传统的人才招聘方式往往效率低下,信息不对称,导致求职者难以快速找到合适的工......
  • 基于Node.js+vue基于Springbootvue的教学辅助系统设计与实现(开题+程序+论文) 计算机
    本系统(程序+源码+数据库+调试部署+开发环境)带文档lw万字以上,文末可获取源码系统程序文件列表开题报告内容研究背景在教育领域,随着信息技术的飞速发展,传统教学模式正逐步向数字化、智能化转型。传统的教学辅助工具已难以满足现代教育的需求,尤其是在提升教学效率、增强师生......
  • 基于Node.js+vue在线拍卖系统(开题+程序+论文) 计算机毕业设计
    本系统(程序+源码+数据库+调试部署+开发环境)带文档lw万字以上,文末可获取源码系统程序文件列表开题报告内容研究背景随着互联网技术的飞速发展和电子商务的普及,在线拍卖作为一种高效、便捷的交易方式,逐渐成为消费者和商家青睐的交易平台。传统拍卖受限于地域、时间等因素,难......
  • 基于Node.js+vue基于JS的租房网站(开题+程序+论文) 计算机毕业设计
    本系统(程序+源码+数据库+调试部署+开发环境)带文档lw万字以上,文末可获取源码系统程序文件列表开题报告内容研究背景随着城市化进程的加速和人口流动的日益频繁,租房需求持续增长,成为现代都市生活中不可或缺的一部分。然而,传统的租房方式往往依赖于中介或线下看房,不仅效率低......
  • 标准的vue3 elementplus格式,不用export default
    <template><div><!--查询表单--><el-form:inline="true":model="filters"class="demo-form-inline"><el-form-itemlabel="产品料号"><el-inputv-model="filters.......