使用vue.js写一个tab选项卡效果
发布时间 - 2026-01-11 00:21:59 点击率:次通常我们写tab选项卡的时候,一般都是用jq等去操作dom,给同级元素移除active类,然后,给被点击元素添加active类,但是在vue.js中,我们能不去操作dom我们就尽量不操作dom,那么该如何实现呢?

如果使用过vue-router,那么你会发现,vue-router在使用的时候其实就相当于一个tab选项卡,在点击之后,被点击的router-link元素会默认被添加上一个router-link-active的类,我们只需要设置这个类的样式即可.(当然,router-link-active)是vue-router默认的类名,你可以自己配置更改名称.这样我们可以直接使用vue的路由功能当tab选项卡使用了.那么如果不想用路由功能呢?
那么请看下面的方法:
html部分
<div id="app">
<ul>
<li @click="toggle($index ,tab.view)" v-for="tab in tabs" :class="{active:active==$index}">
{{tab.type}}
</li>
</ul>
<component :is="currentView"></component>
</div>
js部分
Vue.component('child1', {
template: "<p>this is child1</p>"
})
Vue.component('child2', {
template: "<p>this is child2</p>"
})
new Vue({
el: "#app",
data: {
active: 0,
currentView: 'child1',
tabs: [
{
type: 'tab1',
view: 'child1'
},
{
type: 'tab2',
view: 'child2'
}
]
},
methods: {
toggle(i, v){
this.active = i
this.currentView = v
}
}
})
然后我们只需要设置一个.active的样式就可以了,比如设置一个最简单的
css
.active{
color:red
}
简易的vue.js tab 选项卡
原理很简单,我们给tab选项绑定了toggle方法,点击时让active等于其index,从而给其添加了一个active类,而显示的内容也是同样的原理.比起传统操作dom方法,这个整体看上去更简洁,不过麻烦在每个tab选项卡都是一个组件.
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
# vue.js实现选项卡
# vue.js选项卡
# vue
# tab选项卡
# vue实现选项卡及选项卡切换效果
# Vue.js组件tabs实现选项卡切换效果
# vue插件tab选项卡使用小结
# Vue.js组件tab实现选项卡切换
# vue中选项卡点击切换且能滑动切换功能的实现代码
# vuejs实现标签选项卡动态更改css样式的方法
# Vue.js tab实现选项卡切换
# vue动态组件实现选项卡切换效果
# vue中用动态组件实现选项卡切换效果
# vue实现简易选项卡功能
# 选项卡
# 都是
# 只需要
# 路由功能
# 你可以
# 不去
# 我们可以
# 很简单
# 该如何
# 定了
# 最简单
# 想用
# 于其
# 使用过
# 你会发现
# 大家多多
# 移除
# 就可以
# 给其
# 使用了
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
如何在IIS服务器上快速部署高效网站?
bootstrap日历插件datetimepicker使用方法
国美网站制作流程,国美电器蒸汽鍋怎么用官方网站?
Laravel如何处理CORS跨域问题_Laravel项目CORS配置与解决方案
如何构建满足综合性能需求的优质建站方案?
Laravel如何实现数据导出到CSV文件_Laravel原生流式输出大数据量CSV【方案】
香港服务器网站推广:SEO优化与外贸独立站搭建策略
如何正确选择百度移动适配建站域名?
如何确认建站备案号应放置的具体位置?
如何快速上传自定义模板至建站之星?
Laravel如何与Pusher实现实时通信?(WebSocket示例)
如何在服务器上三步完成建站并提升流量?
高端智能建站公司优选:品牌定制与SEO优化一站式服务
网站制作报价单模板图片,小松挖机官方网站报价?
Laravel如何实现API版本控制_Laravel版本化API设计方案
Laravel如何实现密码重置功能_Laravel密码找回与重置流程
Edge浏览器如何截图和滚动截图_微软Edge网页捕获功能使用教程【技巧】
Laravel怎么导出Excel文件_Laravel Excel插件使用教程
C++时间戳转换成日期时间的步骤和示例代码
Windows Hello人脸识别突然无法使用
怎么制作网站设计模板图片,有电商商品详情页面的免费模板素材网站推荐吗?
头像制作网站在线观看,除了站酷,还有哪些比较好的设计网站?
Linux虚拟化技术教程_KVMQEMU虚拟机安装与调优
laravel怎么实现图片的压缩和裁剪_laravel图片压缩与裁剪方法
详解Android图表 MPAndroidChart折线图
Win11怎么设置虚拟桌面 Win11新建多桌面切换操作【技巧】
Firefox Developer Edition开发者版本入口
Laravel如何记录日志_Laravel Logging系统配置与自定义日志通道
手机网站制作与建设方案,手机网站如何建设?
JavaScript如何实现继承_有哪些常用方法
Laravel如何升级到最新的版本_Laravel版本升级流程与兼容性处理
如何在阿里云通过域名搭建网站?
javascript基本数据类型及类型检测常用方法小结
如何在搬瓦工VPS快速搭建网站?
javascript和jQuery中的AJAX技术详解【包含AJAX各种跨域技术】
Java Adapter 适配器模式(类适配器,对象适配器)优缺点对比
Android滚轮选择时间控件使用详解
Laravel如何生成PDF或Excel文件_Laravel文档导出工具与使用教程
黑客如何通过漏洞一步步攻陷网站服务器?
Laravel怎么进行数据库事务处理_Laravel DB Facade事务操作确保数据一致性
谷歌Google入口永久地址_Google搜索引擎官网首页永久入口
如何用wdcp快速搭建高效网站?
无锡营销型网站制作公司,无锡网选车牌流程?
打造顶配客厅影院,这份100寸电视推荐名单请查收
Android使用GridView实现日历的简单功能
Laravel如何处理文件下载请求?(Response示例)
html5的keygen标签为什么废弃_替代方案说明【解答】
如何用AWS免费套餐快速搭建高效网站?
微信小程序 scroll-view组件实现列表页实例代码
如何快速使用云服务器搭建个人网站?

