快速上手vue elementUI好看的登录界面
Posted H@Z*rTE|i
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了快速上手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,否则会影响后续的所有页面样式,二次开发要注意希望大家引以为戒。
Vue实战快速上手
前言
ElementUI组件+vue
创建工程
1.创建一个名为 hello-vue 的工程
vue init webpack hello-vue
2.安装依赖.需要安装四个插件 vue-router,element-ui,sass-loader和node-sass
进入工程目录
cd hello-vue
安装vue-router
npm install vue-router --save-dev
安装element-ui
npm i element-ui -s
安装SASS加载器
cnpm install sass-loader node-sass --save-dev
启动测试
npm run dev
创建登录页面
把没有用的初始化东西删掉
结构如下
- assets: 用于存放资源文件
- components: 用于存放Vue功能组件
- views: 用于存放Vue视图组件
- router: 用于存放 vue-roter 配置
创建首页视图,在views目录下创建一个Main.vue的视图
<template>
<h1>首页</h1>
</template>
<script>
export default {
name: "Main"
}
</script>
<style scoped>
</style>
创建登录页视图在views目录下创建一个名为Login.vue的视图
<template>
<div>
<el-form :model="form" :rules="rules" ref="loginForm" label-width="80px" class="login-box">
<h3 class="login-title">欢迎登陆</h3>
<el-form-item label="账号" prop="username">
<el-input type="text" v-model="form.username" autocomplete="off" placeholder="请输入账号"></el-input>
</el-form-item>
<el-form-item label="密码" prop="password">
<el-input type="password" v-model="form.password" autocomplete="off" placeholder="请输入密码"></el-input>
</el-form-item>
<el-form-item>
<el-button type="primary" v-on:@click="onSubmit(‘loginForm‘)">登陆</el-button>
</el-form-item>
</el-form>
<el-dialog
title="温馨提示"
:visible.sync="dialogVisible"
width="30%"
:before-close="handleClose">
<span>请输入账号和密码</span>
<span slot="footer" class="dialog-footer">
<el-button type="primary" @click="dialogVisible=false">确定</el-button>
</span>
</el-dialog>
</div>
创建路由,在router目录下创建一个名为 index.js的vue-router的路由配置文件
import Vue from ‘vue‘
import Router from ‘vue-router‘
import Main from ‘../view/Main‘
import Login from ‘../view/Login‘
import UserList from ‘../view/user/List‘
import UserProfile from ‘../view/user/Profile‘
Vue.use(Router);
export default new Router({
routes: [
{
path: ‘/login‘,
component: Login,//嵌套路由
},
{
path: ‘/main‘,
component: Main,
children:[
{path: ‘/user/profile‘,component:UserProfile},
{path: ‘/user/list‘,component:UserList},
]
}
]
})
App.vue
<template>
<div id="app">
<router-link to="/login">login</router-link>
<router-link to="/main">首页</router-link>
<router-view></router-view>
</div>
</template>
<script>
import HelloWorld from ‘./components/HelloWorld‘
export default {
name: ‘App‘,
components: {
HelloWorld
}
}
</script>
<style>
#app {
font-family: ‘Avenir‘, Helvetica, Arial, sans-serif;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
text-align: center;
color: #2c3e50;
margin-top: 60px;
}
</style>
mian.js
import Vue from ‘vue‘
import App from ‘./App‘
import router from ‘./router‘
import ElementUI from ‘element-ui‘;
import ‘element-ui/lib/theme-chalk/index.css‘;
Vue.use(router);
Vue.use(ElementUI);
new Vue({
el: ‘#app‘,
router,
render: h => h(App)//ElmentUI
})
测试
以上是关于快速上手vue elementUI好看的登录界面的主要内容,如果未能解决你的问题,请参考以下文章