Vue局部注册组件实现组件化登录注册
- 一、效果
- 二、代码
- 1、index.js
- 2、App.vue
- 3、首页
- 4、登录(注册同理)
一、效果
注意我这里使用了element组件
二、代码
1、index.js
import Vue from 'vue'
import VueRouter from 'vue-router'
import Login from '../views/homePage/login'
import Register from '../views/homePage/register'
import HomePage from '../views/homePage'
import Library from '../views/library'
Vue.use(VueRouter)
const routes = [
{
path: '/library',
component: Library
},
{
path: '/homePage',
component: HomePage,
children: [
{
path: '/login',
component: Login
},
{
path: '/register',
component: Register
},
],
},
const router = new VueRouter({
mode: 'history',
base: process.env.BASE_URL,
routes
})
export default router
2、App.vue
<template>
<div id="app">
<router-view />
</div>
</template>
3、首页
通过 components节点,为当前的组件注册私有子组件
import Login from "../homePage/login/index.vue";
import Register from "../homePage/register/index.vue";
<template>
<el-tabs v-model="activeName" @tab-click="handleClick">
<el-tab-pane label="用户登录" name="first">
<my-login />
</el-tab-pane>
<el-tab-pane label="用户注册" name="second">
<my-register />
</el-tab-pane>
</el-tabs>
</template>
<script>
import Login from "../homePage/login/index.vue";
import Register from "../homePage/register/index.vue";
export default {
components: {
"my-login": Login,
"my-register": Register,
},
data() {
return {
activeName: "second",
};
},
methods: {
handleClick(tab, event) {
console.log(tab, event);
},
},
};
</script>
4、登录(注册同理)
<template>
<div class="login">
<div class="userName">
<el-input
type="text"
placeholder="请输入用户名"
v-model="FORM_DATA.userName"
/>
</div>
<div class="password">
<el-input
type="password"
placeholder="请输入密码"
v-model="FORM_DATA.password"
/>
</div>
<div class="loginButton">
<!-- type="primary"设置按钮背景颜色为绿色
:plain="true"窗体主体部分背景颜色透明
-->
<el-button type="primary" :plain="true" @click="login">登录</el-button>
</div>
</div>
</template>
<script>
import request from "@/axios/baseURL";
import router from "@/router";
// 接口数据初始化
const FORM_DATA = {
userName: "",
password: "",
};
export default {
data() {
return {
FORM_DATA,
};
},
created() {
console.log("登录界面");
},
methods: {
login() {
request.post("/systemUser/login", this.FORM_DATA).then((res) => {
var code = res.data.code;
var message = res.data.message;
this.$message(message);
if (code == 0) {
router.push("/library");
}
console.log(res);
});
},
},
};
</script>
<style>
</style>
- 奋斗不止,成功必将属于你。
- 拥抱每一个挑战,成就更好的自己。
- 勇攀高峰,不畏坎坷,终将登顶。
- 塑造自己的梦想,脚踏实地向前迈进。
- 勇往直前,坚定前行,未来可期待。