快速上手vue elementUI好看的登录界面

这是一个非常非常适合新手的vue登录界面,总体来说美观大气,axios那部分没有发,有需要的大家可以自己进行二次开发,继续编写。
用到了技术栈有
vue/cli 5.07 + element-ui 2.15.9
适合入门级新手,展示下页面
在这里插入图片描述

emmm验证码,什么的可以等有兴趣的人二次开发
在这里插入图片描述

好下面来讲述具体如何来实现这个页面。

一、创建vue项目

使用vue的脚手架创建项目,然后把不需要的内容删去,可以看到页面如下:
在这里插入图片描述

需要注意的是你创建时候需要去勾选router选项,如果不勾选的话未来会很麻烦,需要自己重新配置下载,如何创建vue项目,可以翻找我的博文,我的博文里面有记载。

二、引入依赖

把需要的依赖引入,这里我不打算讲太深,就是很简单的把element-ui依赖下载
具体怎么下载打开terminal,输入指令npm install element-ui -S就可以下载,下载完可以在package.json可以看到
在这里插入图片描述

我这里有个axios不用在意,因为我实现了前后端互联,所以对于基础功能而言这些是不需要注意的

三、改造下项目

app.vue改造成如下样式
在这里插入图片描述

router下的index.js需要改变下,因为新的页面为Login.vue
在这里插入图片描述

在assets下加入名为background的图片,图片已取出放在下面了
在这里插入图片描述

对了差点忘了要改一下main.js
在这里插入图片描述

代码如下:

import Vue from "vue";
import router from "./router";
import ElementUI from 'element-ui';
import App from './App.vue';
import 'element-ui/lib/theme-chalk/index.css';

Vue.use(ElementUI);
Vue.config.productionTip = false;

new Vue({
  router,
  render: (h) => h(App),
}).$mount("#app");

还有就是驼峰法则查的很严,
要在vue.config.js上
控制下摆脱这东西,
在这里插入图片描述

代码如下:

`const { defineConfig } = require(“@vue/cli-service”);
module.exports = defineConfig({
transpileDependencies: true,
lintOnSave: false,
});

四、写入Login视图

在views下创建Login.vue
代码如下:

<template>
    <div class="body">
        <el-form :rules="rules" ref="loginForm" :model="loginForm" class="loginContainer">
            <h3 class="loginTitle">
            欢迎登录
            </h3>
            <el-form-item prop="username">
                <el-input type="text" v-model="loginForm.username" placeholder="亲,请输入用户名" >
                </el-input>
            </el-form-item>
            <el-form-item prop="password">
                <el-input type="password" v-model="loginForm.password" placeholder="亲,请输入密码" >
                </el-input>
            </el-form-item>
            <el-form-item prop="code">
                <el-input type="text" auto-complete="false" v-model="loginForm.code" placeholder="点击图片更换验证码" style="width: 250px;margin-right: 5px">
                </el-input>
                <img :src="captchaUrl">

            </el-form-item>
            <el-checkbox v-model="checked" class="loginRemember">记住我</el-checkbox>
            <el-button type="primary" style="width:100%" @click="submitLogin">登录</el-button>
        </el-form>
    </div>
</template>

<script>
export default {
  name: "Login",
    data(){
      return{
          captchaUrl: "",
          loginForm:{
              username:"admin",
              password:"ssssss",
              code:''
          },
          checked: true,
          rules:{
              username:[{required:true,message:"请输入用户名",trigger:"blur"},{ min: 5, max: 14, message: '长度在 5 到 14 个字符', trigger: 'blur' }
              ],
              password:[{required:true,message:"请输入密码",trigger:"blur"},,{ min: 6,  message: '密码长度要大于6', trigger: 'blur' }],
              code:[{required:true,message:"请输入验证码",trigger:"blur"}],
          }

      }
  },
    methods:{
      submitLogin(){
          this.$refs.loginForm.validate((valid) => {
              if (valid) {
                  alert('提交成功');
              } else {
                  this.$message.error('登录出错请重新输入');
                  return false;
              }
          });
      }
    }
};
</script>

<style lang="less" scoped>
    .loginContainer{
        border-radius: 15px;
        background-clip: padding-box;
        text-align: left;
        margin: auto;
        margin-top: 180px;
        width: 350px;
        padding: 15px 35px 15px 35px;
        background: aliceblue;
        border:1px solid blueviolet;
        box-shadow: 0 0 25px #f885ff;
    }
    .loginTitle{
        margin: 0px auto 48px auto;
        text-align: center;
        font-size: 40px;
    }
    .loginRemember{
        text-align: left;
        margin: 0px 0px 15px 0px;
    }
    .body{
        width: 100vw;
        height: 100vh;
        background-image: url("../assets/background.png") ;
        background-size:100%;
       overflow: hidden;
    }
</style>


然后细细讲解下代码
style中主要控制登录框的位置,以及如何去设计,body那里样式是设计的全局背景图,rules:设置了检验规则避免无效登录,设置成一失去焦点就会继续检查,checked保证了登录功能后续开发,巴拉巴拉一大堆但是很容易懂。

总结

然后希望这篇文章能够帮助到你,快速掌握vue。也感谢有大佬提出意见,页面样式一定要设置scoped,否则会影响后续的所有页面样式,二次开发要注意希望大家引以为戒。

git 地址:https://gitee.com/a13333040074/nice-login-page.git

  • 12
    点赞
  • 61
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: VueElementUI可以创建非常漂亮的界面。Vue是一个流行的JavaScript框架,可以帮助开发人员构建动态Web应用程序。ElementUI是一个基于Vue的UI组件库,提供了许多美观的UI组件,如按钮、表格、表单等。使用VueElementUI可以轻松创建现代化的Web应用程序,具有良好的用户体验和视觉效果。 ### 回答2: Vue是一种流行的JavaScript框架,它通过建立可复用的组件来构建用户界面,可以轻松地使用各种现代化的技术来构建前端应用程序。同时,Element UI是一套基于Vue.js的UI组件库,它提供了一组丰富且易于使用的组件,这些组件可以让开发者轻松地构建出好看的网页和应用程序界面。下面我们分别从Vue和Element UI两方面来分析,为什么使用Vue和Element UI可以得到好看的界面。 首先,Vue提供了一个高度可组件化的架构,这种架构使得组件之间的交互变得更加直观、易于维护和扩展。另外,Vue还提供了一些强大的工具和库,例如Vue Router和Vuex,这些工具可以帮助开发者构建复杂的单页面应用(SPA),从而为用户提供流畅的交互体验。Vue的特性和优势使得它在前端开发社区内拥有很高的知名度和广泛的应用,同时也推动了UI组件库的发展。 其次,Element UI针对Vue的特性进行了优化,提供了一系列高质量、现代化、易于使用的UI组件,它们的设计简洁、美观、符合用户的使用习惯。Element UI的组件库涵盖了开发应用所需的大部分组件,例如表单、按钮、对话框、菜单、列表等等,并且提供了一些特殊组件,例如卡片、地图、日历等等,这些组件都是具有高度可复用性和可定制性。这些组件能够轻松地按照自己的需求进行定制,从而帮助开发者构建出好看、易用、且高效的应用程序。 综上所述,使用Vue和Element UI可以帮助我们快速构建出好看的网页和应用程序界面,因为Vue提供了强大的组件化架构和丰富的工具和库,而Element UI则针对Vue进行了优化,提供了一系列高质量的、现代化的、易于使用的UI组件。随着Vue及其生态圈不断发展壮大,我们相信Vue和Element UI将会在未来的前端开发中扮演更加重要的角色。 ### 回答3: Vue.js 是一款轻量级、高性能的前端框架,而 Element UI 是一个基于 Vue.js 的UI组件库。使用 Vue.js 可以轻松实现动态的、交互性强的前端页面效果,而 Element UI 则提供了一系列美观、易用的 UI 组件,将页面设计和开发变得更加便捷。 Vue.js 与 Element UI 的配合,可以实现非常好看的界面效果。Vue.js 特别擅长的是数据的双向绑定、组件化开发,而 Element UI 则提供了更加美观、易用的 UI 组件,包括按钮、表单、对话框、菜单、分页等等,这些组件的样式都经过设计优化,具有可扩展性,能够满足大多数用户的需求。 Vue.js 的优点在于其灵活性,可以与各种数据源、API、库相结合,也可以和其他前端框架一起协作,可以轻松地在不同的环境下开发应用程序。同时,由于 Vue.js 提供了丰富的标签,可以通过组件化的方式将页面中的各个部分分解,使得开发、维护和测试更加简单高效。 Element UI 的优点在于它提供的组件非常美观、易用,通过掌握简单的 CSS 即可完成页面设计。而 Element UI 的组件库也经过了严格的设计、测试,保证在不同设备和浏览器上都能正常运行,而且提供了多种主题和配色方案,可以满足不同使用场景的需求。 因此,使用 Vue.js + Element UI 可以得到非常好看的界面效果,同时还能够享受到 Vue.js 和 Element UI 带来的其他优点,如高性能、易用性和可扩展性等。所以,在现代 Web 应用程序的开发过程中,Vue.js 和 Element UI 正变得越来越流行。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值