Vue(二)使用Element-ui元件庫渲染後臺系統登入頁面
我們想要實現的最終效果為:
一、專案初始化
執行指令
vue init webpack vue-shop-pro
把專案的結構檔案建立出來
二、專案初始配置
-
在package.json中給webpack做指令配置
"scripts": { "line": "webpack-dev-server --inline --progress --config build/webpack.dev.conf.js", ... "pack": "node build/build.js" }
line: 線上執行指令引數
pack:物理打包指令引數
-
在config/index.js中做開發配置
autoOpenBrowser: true
線上執行專案會自動開啟瀏覽器
三、初始化Login.vue元件
新建 src/components/Login.vue 檔案,並設定簡單內容
在 src/router/index.js 檔案中給Login.vue配置路由
import Login from '@/components/Login'
{ path: '/login', component: Login }
可以把 src/App.vue 根元件的預設圖片和css樣式給去除掉
- 建立Login.vue檔案並設定簡單內容
- 給Login.vue設定請求路由,具體在src/router/index.js設定
- 給App.vue把預設圖片和css樣式去除
- 訪問效果
四、繪製登入頁面背景
建立global.css樣式檔案
為了使得全部的元件都擁有統一的css樣式,現在建立全域性樣式檔案 src/assets/css/global.css
並填充如下內容
html,body,#app{
height:100%;
margin:0;
padding:0;
}
應用global.css
為了使得global.css生效,請在 src/main.js 主入口檔案中做引入操作
import './assets/css/global.css'
給登入頁面繪製背景
給 src/components/Login.vue 檔案設定如下內容
<template>
<div id="login-container">
<h2>使用者登入系統</h2>
</div>
</template>
<style lang="less" scoped>
#login-container {
background-color: #2b4b6b;
height: 100%;
overflow: hidden;
}
</style>
script標籤 不需要時,可以暫時不用設定
現在登入頁面效果:
上圖的12306埠如果需要可以通過修改config/index.js配置檔案設定
五、繪製登入盒子
- 準備素材圖片 src/assets/Vue(二)使用Element-ui元件庫渲染後臺系統登入頁面/logo.png
- 給 src/components/Login.vue 檔案做內容設定
-
template標籤內容
<template> <div id="login-container"> <div id="login-box"> <div id="logo-box"> <Vue(二)使用Element-ui元件庫渲染後臺系統登入頁面/ src="../assets/Vue(二)使用Element-ui元件庫渲染後臺系統登入頁面/logo.png" alt> </div> </div> </div> </template>
-
style標籤內容
<style lang="less" scoped> #login-container { background-color: #2b4b6b; height: 100%; overflow: hidden; #login-box { width: 450px; height: 304px; background-color: #fff; border-radius: 4px; position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); #logo-box { width: 130px; height: 130px; border: 1px solid #eee; border-radius: 50%; padding: 8px; box-shadow: 0 0 10px #eee; position: absolute; left: 50%; transform: translate(-50%, -50%); background-color: #fff; Vue(二)使用Element-ui元件庫渲染後臺系統登入頁面/ { width: 100%; height: 100%; border-radius: 50%; background-color: #eee; } } } } </style>
在Login.vue中具體實現:
style樣式的具體程式碼:
<style lang="less" scoped>
.login-container{
background-color:#2b4b6b;
height:100%;
overflow: hidden;
.login-box{
width:450px;
height:304px;
background-color:#fff;
border-radius: 4px;
position:absolute;
left:50%;
top:50%;
transform: translate(-50%,-50%);
.avatar-box{
width:130px;
height:130px;
border:1px solid #eee;
border-radius: 50%;
padding:8px;
box-shadow: 0 0 10px #eee;
position:absolute;
left:50%;
transform:translate(-50%,-50%);
background-color:#fff;
Vue(二)使用Element-ui元件庫渲染後臺系統登入頁面/{
width:100%;
height:100%;
border-radius: 50%;
background-color:#eee;
}
}
}
}
</style>
現在登入視窗盒子和logo圖片效果為:
六、繪製登入表單
配置ElementUI
-
執行指令安裝element-ui
npm install element-ui
-
安裝plugin外掛(使得element-ui可以做 按需引入)
npm install babel-plugin-component -D
-
修改 .babelrc 配置檔案給plugin做按需引入配置
"plugins": [ [ "component", { "libraryName": "element-ui", "styleLibraryName": "theme-chalk" } ] ]
-
在專案主入口檔案 src/main.js 中給element-ui做引入配置
import ElementUI from 'element-ui' Vue.use(ElementUI)
不需要引入相關的css檔案,因為已經做了“按需引入”了
之後重啟webpack
繪製各個表單域
繪製 使用者名稱、密碼、登入、重置 按鈕等表單域
給 src/components/Login.vue 檔案做內容設定
-
template標籤內容
<template> <div class="login-container"> <div class="login-box"> <div class="avatar-box"> <img src="../assets/Vue(二)使用Element-ui元件庫渲染後臺系統登入頁面//logo.png" alt> </div> <el-form ref="loginFormRef" :model="loginForm"> <el-form-item> <el-input v-model="loginForm.username"></el-input> </el-form-item> <el-form-item> <el-input v-model="loginForm.userpass"></el-input> </el-form-item> <el-row> <el-col push="15"> <el-button type="primary">登入</el-button> <el-button type="info">重置</el-button> </el-col> </el-row> </el-form> </div> </div> </template>
ref=“loginFormRef” 使得可以通過Vue方法找到當前的form表單
:model=“loginForm” v-bind:屬性繫結,把表單域資訊物件繫結給model屬性
model在此處就是一個普通的屬性名稱,與v-model沒有任何關係
el-row/el-col 是對內容列進行定位的
:offset=“15” 當前列的左側的間隔格數
-
script內容
export default { data() { return { // 使用者登入表單資料物件(使用者名稱、密碼) loginForm: { username: '', userpass: '' } } } }
-
style樣式部分
.login-box { …… .el-form { position: absolute; bottom: 0; width: 100%; padding: 20px; box-sizing: border-box; } }
在Login.vue的結構中繪製如下內容:
繪製圖示
element-ui提供了一些圖示,但是數量有限,如果需要其他圖示可以去 阿里媽媽圖示庫 使用更全的圖示
具體使用:
- 把下載好的圖示庫檔案複製到專案指定位置:
-
在main.js中引入圖示庫樣式檔案
// 引入“圖示”css樣式檔案 import './assets/fonts/iconfont.css'
-
在Login.vue中給表單域新增圖示
<el-form-item prop="username"> <el-input v-model="loginForm.username"> <i slot="prefix" class="iconfont icon-user"></i> </el-input> </el-form-item> <el-form-item prop="password"> <el-input type="password" v-model="loginForm.password"> <i slot="prefix" class="iconfont icon-3702mima"></i> </el-input> </el-form-item>
示例程式碼:
效果:
相關文章
- 使用Vue搭建電商後臺管理系統的注意點<登入頁>Vue
- 使用Vue.js和Element-UI做一個簡單的登入頁面Vue.jsUI
- 使用Vue寫一個登入頁面Vue
- 簡單的使用者登入頁面與後臺資料庫的互動資料庫
- vue實現後臺管理系統頁面功能和頁面路由許可權的控制Vue路由
- 後臺向vue頁面傳值Vue
- 登入頁面使用ReactiveCocoaReact
- 電商後臺管理系統——登入功能
- PbootCMS網站後臺登入頁面樣式怎麼修改boot網站
- 基於vue2.0 +vuex+ element-ui後臺管理系統VueUI
- 使用Web元件載入頁面Web元件
- vue頁面渲染是閃爍{{}}Vue
- 搭建自己的 vue 元件庫(二) —— Element-ui 專案分析Vue元件UI
- asp.net 在使用母版頁的子頁面cs後臺程式碼中控制母版頁中的登入控制元件顯示ASP.NET控制元件
- 使用Vue搭建電商後臺管理系統的注意點<首頁>Vue
- Vue的data中物件新增屬性後,頁面卻不渲染(未渲染)Vue物件
- vue使用iview Form元件驗證(適用於後臺管理系統)VueViewORM元件
- Vue管理系統前端系列三登入頁和首頁及`vuex`管理登入狀態Vue前端
- 使用 Laravel5.7 許可權管理系統後臺及前後臺使用者登入Laravel
- 使用Vue搭建電商後臺管理系統Vue
- ubuntu16.04登入後黑屏再次回到登入頁面Ubuntu
- Vue + ElementUI 後臺管理系統專案心得(二)VueUI
- Vue學習:實現使用者沒有登陸時,訪問後自動跳轉登入頁面Vue
- WebForm登入頁面(連線資料庫)WebORM資料庫
- vue.js搭建使用者管理系統練手(二)----頁面框架搭建Vue.js框架
- windows10系統更新補丁後卡死在登入頁面怎麼解決Windows
- Tp6 資料庫管理工具,生成前後臺CRUD頁面,直接作為後臺頁面使用資料庫
- Vue2.0 + ElementUI 手寫許可權管理系統後臺模板(三)——頁面搭建VueUI
- PbootCMS登入後頁面載入緩慢怎麼辦boot
- SAPGUI系統登入頁面配置的SAProuter有什麼用GUI
- 直播系統app原始碼,簡潔好看的登入頁面APP原始碼
- Vue 頁面掉東西元件Vue元件
- vue頁面表格元件高度控制Vue元件
- 直播原始碼網站,新使用者登入時的註冊頁面和登入頁面原始碼網站
- Vue-router實現單頁面應用在沒有登入情況下,自動跳轉到登入頁面Vue
- 基於angular7的多頁面後臺管理系統Angular
- react 高效高質量搭建後臺系統 系列 —— 登入React
- spring boot + vue + element-ui全棧開發入門——主頁面開發Spring BootVueUI全棧