vue+element-ui

news/2024/7/7 21:54:29

一.使用图形化界面,创建vue项目

vue ui(在根目录下,打开cmd,启动图形化界面)

 添加插件

 添加element-ui插件

 这里选择import on demand

 安装好了

 添加依赖

 添加axios依赖

 添加好了

二.创建Git仓库,连接并上传刚刚创建的项目

 在项目文件目录下打开git的命令窗口,git bash here

 查看状态git status,发现有很多文件没有加入暂存区,

 然后将这些文件加入暂存区,git add .

 与远程仓库建立连接,然后将项目推送到仓库

 这样,创建的项目就与远程仓库建立连接并推送成功了

 三.用idea打开刚刚的项目

在终端用命令创建一个login分支

创建分支之后,去启动项目

 项目启动成功

如果很多文件颜色都是灰色的,那需要按照提示,安装所提示的东西

修改 

 那么首页那些花花绿绿的就没有了,这个文件已修改,页面就会有效果

 然后去修改路由

一开始这样:

 修改后:

 删掉组件下面自带的文件,新建一个Login.vue文件,我们登录页面的内容就写在这个文件里面        

login.vue文件建好之后,我们要在index.js文件当中,配置好login.vue的路        由

不要忘了App.vue里面还有个路由显示出口,出口你都不写,页面怎么显示效果

 

然后我们现在就开始在Login.vue这个文件里面写我们需要的内容

首先我们去设置全局的css样式

 然后将他引入到main.js这个文件中

这个文件就是你后续需要用到什么依赖啊啥的,就要引入到这个文件中

 

less有什么用

  less报错,是因为缺少依赖,那么要去安装两个依赖

 

 

 

 然后页面就显示了

 在assets这个包下面建一个css目录,再建一个

最终登录的界面效果

<template>
  <div class="login_container">
    <!--登录的组件{{msg}}-->
    <div class="login_box">
      <div class="tp_box">
        <img src="../assets/images/login.png" width="80px" alt="">
      </div>
      <el-form label-width="0" class="login_form">
        <el-form-item>
          <el-input placeholder="请输入用户名"></el-input>
        </el-form-item>
        <el-form-item>
          <el-input placeholder="请输入密码"></el-input>
        </el-form-item>
        <el-form-item class="btns">
          <el-button type="primary">登录</el-button>
          <el-button type="info">取消</el-button>
        </el-form-item>
      </el-form>
    </div>
  </div>
</template>

<script>
export default {
  // eslint-disable-next-line vue/multi-word-component-names
  name: 'Login',
  data: function () {
    return {
      msg: 'zsf'
    }
  }

}
</script>
<!--这个less有什么用-->
<style lang="less" scoped>
.login_container {
  //background-color: #d4edda;
  background-color: powderblue;
  background-image: linear-gradient(to right,powderblue,deepskyblue);
  height: 100%;
}
.login_box{
  width: 450px;
  height: 450px;
  //background-color: antiquewhite;
  background-color: white;
  border-radius: 15%;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%,-50%);
  box-shadow: 0 0 10px powderblue;/*加阴影*/

  .tp_box{
    position: fixed;
    left: 50%;
    transform: translate(-50%);
    border-radius: 50%;/*圆角*/
    background-color:powderblue;
    width: 120px;
    height: 120px;
    padding: 10px;
    box-shadow: 0 5px 20px deepskyblue;/*加阴影*/
    img{
      width: 100%;
      height: 100%;
      border-radius: 50%;
    }
  }
}
.btns{
  display: flex;
  justify-content: flex-end;
}
.login_form{
  position: absolute;
  left: 50%;
  transform: translate(-50%);
  bottom: 60px;
  width: 90%;
  padding: 0px 20px;
  /*就算你要撑起来,你也只能往里面撑起来*/
  box-sizing: border-box;
}
</style>

另一个样式

加上表单验证并实现重置

<template>
  <div class="login_container">
    <!--登录的组件{{msg}}-->
    <div class="login_box">
      <div class="tp_box">
        <img src="../assets/images/login.png" width="80px" alt="">
      </div>
      <el-form ref="loginFormRef" :model="loginForm" :rules="loginFormRules" label-width="0" class="login_form">
        <!--prop="username:指定要执行的规则"-->
        <el-form-item prop="username">
          <el-input v-model="loginForm.username" prefix-icon="iconfont icon-yonghu" placeholder="请输入用户名"></el-input>
        </el-form-item>
        <el-form-item prop="password">
          <el-input v-model="loginForm.password" prefix-icon="iconfont icon-suoding" placeholder="请输入密码"></el-input>
        </el-form-item>
        <el-form-item class="btns">
          <el-button type="primary">登录</el-button>
          <el-button type="info" @click="resetLoginForm">取消</el-button>
        </el-form-item>
      </el-form>
    </div>
  </div>
</template>

<script>
export default {
  // eslint-disable-next-line vue/multi-word-component-names
  name: 'Login',
  data () {
    return {
      loginForm: {
        username: '',
        password: ''
      },
      loginFormRules: {
        username: [
          /* blur:失去焦点的时候触发 */
          {
            required: true,
            message: '请输入用户名',
            trigger: 'blur'
          },
          {
            min: 6,
            max: 9,
            message: '长度在 6 到 9 个字符',
            trigger: 'blur'
          }
        ],
        password: [
          /* blur:失去焦点的时候触发 */
          {
            required: true,
            message: '请输入密码',
            trigger: 'blur'
          },
          {
            min: 6,
            max: 9,
            message: '长度在 6 到 9 个字符',
            trigger: 'blur'
          }
        ]
      }
    }
  },
  methods: {
    resetLoginForm () {
      console.log(this)
      this.$refs.loginFormRef.resetFields()
    }
  }

}
</script>
<!--这个less有什么用-->
<style lang="less" scoped>
.login_container {
  //background-color: #d4edda;
  background-color: powderblue;
  //background-image: linear-gradient(to right,powderblue,deepskyblue);
  background-image: linear-gradient(to right, powderblue, pink, plum);
  height: 100%;
}

.login_box {
  width: 450px;
  height: 450px;
  //background-color: antiquewhite;
  background-color: white;
  border-radius: 15%;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  box-shadow: 0 0 10px powderblue; /*加阴影*/

  .tp_box {
    position: fixed;
    left: 50%;
    transform: translate(-50%);
    border-radius: 50%; /*圆角*/
    background-color: powderblue;
    width: 120px;
    height: 120px;
    padding: 10px;
    box-shadow: 0 5px 20px deepskyblue; /*加阴影*/

    img {
      width: 100%;
      height: 100%;
      border-radius: 50%;
    }
  }
}

.btns {
  display: flex;
  justify-content: flex-end;
}

.login_form {
  position: absolute;
  left: 50%;
  transform: translate(-50%);
  bottom: 60px;
  width: 90%;
  padding: 0px 20px;
  /*就算你要撑起来,你也只能往里面撑起来*/
  box-sizing: border-box;
}

</style>

再用一下阿里巴巴的图标库

 https://www.iconfont.cn/
小俊会编码:..123123

下载好之后,将压缩包解压,将文件夹加入到项目assets目录下

 在表单输入框当中使用

 


http://lihuaxi.xjx100.cn/news/45257.html

相关文章

嵌入式开发之led驱动实践

led驱动开发实践 超前的问题,驱动测试成功后,如何使用呢?正常的linux启动流程开机自动加载驱动,可见在启动(5)与(6)间加载驱动再看led灯驱动流程,自底向上分析1. 在最底层c文件定义了灯的操作结构体2. 通过驱动里的init函数调用get_board_led_opr得到led操作3. 将led_d…

Github创建个人博客

1、Create a new repository 设置域名&#xff1a;.github.io 设置.gitignore:Node 2、打印一个hello到html GitHub Pages | Websites for you and your projects, hosted directly from your GitHub repository. Just edit, push, and your changes are live.Websites for …

jupyter notebook代码补全扩展安装遇到 Jupyter command `jupyter-contrib` not found.” 问题

这里写自定义目录标题动机旧的安装插件的教程&#xff08;可以跳过&#xff09;Jupyter command jupyter-contrib not found. 解决方案——新的安装方式。动机 众所周知&#xff0c;Jupyer notebook 体量小&#xff0c;特别适合初学者的代码调试。其每一个Cell都可以将历史的变…

发布Python包到pypi

官方文档 打包 Python 项目 开始 创建项目 以上一篇文章的代码为例 目录结构如下 src 存放代码的目录scrapy-redis-bf 需要上传的包 tests/ 存放一些测试文件&#xff0c;可以为空 LICENSE 开源许可证 pyproject.toml 项目设置 README.md 其中主要关心的是pyproject.toml…

net转java学习笔记-sqlserver的问题记录

最近公司有个.net项目&#xff0c;用的不是mysql是sqlserver&#xff0c;中间遇到几次问题记录下。 1.navicat连接sqlserver失败 百度了一下这个是缺少了驱动&#xff0c;其实navicat自带了这个驱动&#xff0c;没有安装而已。 打开Navicat的安装路径&#xff0c;Navicat自带s…

小迈科技一面

简单三分钟自我介绍 自我介绍这里一笔带过&#xff0c;给对面介绍自己内在 外在 校园经历 校园项目 意向岗位 一面 1. Java基础 1.1 序列化和反序列化 首先了解一下序列化和反序列化的概念 序列化&#xff1a;将Java对象以二进制即字节码的形式保存在磁盘文件中&…

【Spring】AOP的三种方式

什么是aop AOP&#xff08;Aspect Oriented Programming&#xff09;意为&#xff1a;面向切面编程&#xff0c;通过预编译方式和运行期动态代理实现程序功能的统一维护的一种技术。AOP是OOP的延续&#xff0c;是软件开发中的一个热点&#xff0c;也是Spring框架中的一个重要内…

http和https分别是什么?

http 中文名&#xff1a;超文本传输协议 英文名&#xff1a;Hyper Text Transfer Protocol 解释&#xff1a;是一个简单的请求-响应协议&#xff0c;它通常运行在TCP之上。它指定了客户端可能发送给服务器什么样的消息以及得到什么样的响应。 请求和响应消息的头以ASCII形式给出…