vue實(shí)現(xiàn)登錄注冊(cè)模板的示例代碼
模板1:
login.vue
<template><p class='login'><el-tabs v-model='activeName' @tab-click='handleClick'><el-tab-pane label='登錄' name='first'><el-form :model='ruleForm' :rules='rules' ref='ruleForm' label- class='demo-ruleForm'><el-form-item label='名稱' prop='name'><el-input v-model='ruleForm.name'></el-input></el-form-item> <el-form-item label='密碼' prop='pass'><el-input type='password' v-model='ruleForm.pass' auto-complete='off'></el-input></el-form-item> <el-form-item><el-button type='primary' @click='submitForm(’ruleForm’)'>登錄</el-button> <el-button @click='resetForm(’ruleForm’)'>重置</el-button></el-form-item></el-form></el-tab-pane> <el-tab-pane label='注冊(cè)' name='second'><register></register></el-tab-pane></el-tabs></p></template> <script>import register from ’@/components/register’; export default {data() {var validatePass = (rule, value, callback) => {if (value === ’’) {callback(new Error(’請(qǐng)輸入密碼’));} else {if (this.ruleForm.checkPass !== ’’) {this.$refs.ruleForm.validateField(’checkPass’);} callback();}}; return {activeName: ’first’,ruleForm: {name: ’’,pass: ’’,checkPass: ’’},rules: {name: [{ required: true, message: ’請(qǐng)輸入您的名稱’, trigger: ’blur’ }, { min: 2, max: 5, message: ’長(zhǎng)度在 2 到 5 個(gè)字符’, trigger: ’blur’ }],pass: [{ required: true, validator: validatePass, trigger: ’blur’ }]}};}, methods: {//選項(xiàng)卡切換handleClick(tab, event) {},//重置表單resetForm(formName) {this.$refs[formName].resetFields();},//提交表單submitForm(formName) {this.$refs[formName].validate(valid => {if (valid) {this.$message({type: ’success’,message: ’登錄成功’});this.$router.push(’home’);} else {console.log(’error submit!!’);return false;}});}},components: {register}};</script> <style lang='scss'>.login {width: 400px;margin: 0 auto;} .el-tabsitem {text-align: center;width: 60px;}</style>
register.vue
//register組件 <template><el-form :model='ruleForm' :rules='rules' ref='ruleForm' label- class='demo-ruleForm'><el-form-item label='用戶名' prop='name'><el-input v-model='ruleForm.name'></el-input></el-form-item><el-form-item label='密碼' prop='pass'><el-input type='password' v-model='ruleForm.pass' auto-complete='off'></el-input></el-form-item><el-form-item label='確認(rèn)密碼' prop='checkPass'><el-input type='password' v-model='ruleForm.checkPass' auto-complete='off'></el-input></el-form-item><el-form-item><el-button type='primary' @click='submitForm(’ruleForm’)'>注冊(cè)</el-button><el-button @click='resetForm(’ruleForm’)'>重置</el-button></el-form-item></el-form></template> <script>export default {data() {var validatePass = (rule, value, callback) => {if (value === ’’) {callback(new Error(’請(qǐng)輸入密碼’));} else {if (this.ruleForm.checkPass !== ’’) {this.$refs.ruleForm.validateField(’checkPass’);}callback();}}; var validatePass2 = (rule, value, callback) => {if (value === ’’) {callback(new Error(’請(qǐng)?jiān)俅屋斎朊艽a’));} else if (value !== this.ruleForm.pass) {callback(new Error(’兩次輸入密碼不一致!’));} else {callback();}}; return {activeName: ’second’,ruleForm: {name: ’’,pass: ’’,checkPass: ’’},rules: {name: [{ required: true, message: ’請(qǐng)輸入您的名稱’, trigger: ’blur’ }, { min: 2, max: 5, message: ’長(zhǎng)度在 2 到 5 個(gè)字符’, trigger: ’blur’ }],pass: [{ required: true, validator: validatePass, trigger: ’blur’ }],checkPass: [{ required: true, validator: validatePass2, trigger: ’blur’ }]}};}, methods: {submitForm(formName) {this.$refs[formName].validate(valid => {if (valid) {this.$message({type: ’success’,message: ’注冊(cè)成功’});// this.activeName: ’first’,} else {console.log(’error submit!!’);return false;}});}, resetForm(formName) {this.$refs[formName].resetFields();}}};</script>
效果圖
模板2:
login.vue
<template> <el-row type='flex' justify='center'> <el-form ref='formData' :model='formData' :rules='rules' label- @keyup.enter.native='login()'> <el-form-item prop='userName' label='用戶名'><el-input v-model='formData.userName' placeholder='請(qǐng)輸入用戶名' prefix-icon='icon-login_user' clearable></el-input></el-form-item> <el-form-item prop='password' label='密碼'><el-input v-model='formData.password' placeholder='請(qǐng)輸入密碼' type='password' prefix-icon='icon-login_pwd' clearable></el-input></el-form-item> </el-form-item> <el-form-item><el-button type='primary' @click='login(’formData’)' icon='el-icon-upload'>登錄</el-button> <el-button @click='resetForm(’formData’)'>重置</el-button></el-form-item></el-form-item> <router-link to='register'>沒(méi)有密碼?注冊(cè)</router-link> </el-form> </el-row></template><script>export default { data() { return { formData: { userName: ’’, password: ’’ }, rules: { userName: [{ required: true, message: ’用戶名不能為空’, trigger: ’blur’ }], password: [{ required: true, message: ’密碼不能為空’, trigger: ’blur’ }] } }; }, methods: { login(formName) { this.$refs[formName].validate(valid => {if (valid) {this.$message({type: ’success’,message: ’登錄成功’ }); this.$router.push({name:’home’});} else {console.log(’error submit!!’);return false;}}); }, resetForm(formName) {this.$refs[formName].resetFields();} }};</script>
register.vue
<template> <el-row type='flex' justify='center'> <el-form ref='formData' :model='formData' :rules='rules' label- @keyup.enter.native='register()'> <el-form-item prop='userName' label='用戶名'><el-input v-model='formData.userName' placeholder='請(qǐng)輸入用戶名' prefix-icon='icon-login_user' clearable></el-input></el-form-item> <el-form-item prop='password' label='密碼'><el-input v-model='formData.password' placeholder='請(qǐng)輸入密碼' type='password' prefix-icon='icon-login_pwd' clearable></el-input></el-form-item> <el-form-item prop='cheackPassword' label='確認(rèn)密碼'><el-input v-model='formData.cheackPassword' placeholder='再次輸入密碼' type='password' prefix-icon='icon-login_pwd' clearable></el-input></el-form-item> </el-form-item> <el-form-item> <el-button type='primary' @click='register(’formData’)' icon='el-icon-upload'>注冊(cè)</el-button> <el-button @click='resetForm(’formData’)'>重置</el-button></el-form-item> <router-link to='login'>已有密碼?登錄</router-link> </el-form> </el-row></template><script>export default { data() { var validatePass = (rule, value, callback) => {if (value === ’’) {callback(new Error(’請(qǐng)?jiān)俅屋斎朊艽a’));} else if (value !== this.formData.password) {callback(new Error(’兩次輸入密碼不一致!’));} else {callback();}}; return { formData: { userName: ’’, password: ’’, cheackPassword:’’ }, rules: { userName: [{ required: true, message: ’用戶名不能為空’, trigger: ’blur’ }], password: [{ required: true, message: ’密碼不能為空’, trigger: ’blur’ }], cheackPassword: [{ required: true, validator: validatePass, trigger: ’blur’ }] } }; }, methods: { register(formName) { this.$refs[formName].validate(valid => {if (valid) {this.$message({type: ’success’,message: ’注冊(cè)成功’ }); this.$router.push({name:’login’});} else {console.log(’error submit!!’);return false;}}); }, resetForm(formName) {this.$refs[formName].resetFields();} }};</script>
效果圖
到此這篇關(guān)于vue實(shí)現(xiàn)登錄注冊(cè)模板的示例代碼的文章就介紹到這了,更多相關(guān)vue 登錄注冊(cè)模板內(nèi)容請(qǐng)搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!
相關(guān)文章:
1. 使用IDEA編寫(xiě)jsp時(shí)EL表達(dá)式不起作用的問(wèn)題及解決方法2. msxml3.dll 錯(cuò)誤 800c0019 系統(tǒng)錯(cuò)誤:-2146697191解決方法3. 不使用XMLHttpRequest對(duì)象實(shí)現(xiàn)Ajax效果的方法小結(jié)4. Python自動(dòng)化之定位方法大殺器xpath5. 刪除docker里建立容器的操作方法6. jsp實(shí)現(xiàn)登錄界面7. Ajax獲取php返回json數(shù)據(jù)動(dòng)態(tài)生成select下拉框的實(shí)例8. Ajax實(shí)現(xiàn)搜索功能的分頁(yè)9. php5.6不能擴(kuò)展redis.so的解決方法10. CSS3實(shí)現(xiàn)動(dòng)態(tài)翻牌效果 仿百度貼吧3D翻牌一次動(dòng)畫(huà)特效
