vue不配置路由,切换页面
我期望实现是这样的效果,点击资料设置 ,右侧会显示资料设置页面,点击修改密码 ,右侧会显示修改密码页面。在日常开发中,通常实现页面跳转是通过路由实现的,那么不利用路由能否实现这个功能呢?这样就可以实现不使用路由,切换页面了。合理运用v-if完美实现。
·
在日常开发中,通常实现页面跳转是通过路由实现的,那么不利用路由能否实现这个功能呢?当然可以,看操作。
我期望实现是这样的效果,点击资料设置 ,右侧会显示资料设置页面,点击修改密码 ,右侧会显示修改密码页面
合理运用v-if完美实现
<template>
<div class="wrapper">
<div class="wrapper_content">
<div class="tab_title">
<ul>
<li @click="tab=0" :class="{tab_active:tab==0}">
资料设置
</li>
<li @click="tab=1" :class="{tab_active:tab==1}">
修改密码
</li>
</ul>
</div>
<div class="content">
<div class="tab_content" v-if="tab==0">
<UserSet /> //这里是组件
</div>
<div class="tab_content" v-else-if="tab==1">
<UserPass /> //这里是组件
</div>
</div>
</div>
</div>
</template>
<script>
import UserSet from '@/components/user/UserSet.vue';
import UserPass from '@/components/user/UserPass.vue';
export default {
data() {
return {
tab: 0 //默认选中第一个tab
};
},
components: { UserSet, UserPass }
};
</script>
<style scoped>
.wrapper {
width: 100%;
height: 100%;
background-color: white;
background-position: center;
display: flex;
justify-content: center;
margin-left: 10px;
margin-top: 10px;
border-radius: 5px;
padding: 30px;
box-shadow: -2px 0px 3px 0px rgba(118, 118, 118, 0.2);
}
.wrapper_content {
width: 1236px;
height: 100%;
display: flex;
justify-content: flex-start;
}
.tab_title {
width: 261px;
height: 100%;
}
.tab_title>ul {
margin: 0;
padding: 0;
list-style: none;
margin: 0 auto;
width: 200px;
height: 100px;
display: flex;
flex-direction: column;
}
.tab_title>ul>li {
flex-grow: 1;
width: 100%;
text-align: center;
height: 50px;
line-height: 50px;
display: flex;
font-size: 14px;
justify-content: center;
}
.tab_title>ul>li:hover {
cursor: pointer;
}
.tab_title .tab_active {
cursor: pointer;
background: linear-gradient(to right top, #F0F6FF, #F0F6FF);
color: #333333;
border: 0;
}
.content {
margin-left: 1px;
width: 976px;
height: 100%;
}
.tab_content {
width: 100%;
height: 100%;
}
</style>
这样就可以实现不使用路由,切换页面了
更多推荐
已为社区贡献4条内容
所有评论(0)