使用vue.js写一个tab选项卡效果


Posted in Javascript onMarch 25, 2017

通常我们写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 选项卡

使用vue.js写一个tab选项卡效果

原理很简单,我们给tab选项绑定了toggle方法,点击时让active等于其index,从而给其添加了一个active类,而显示的内容也是同样的原理.比起传统操作dom方法,这个整体看上去更简洁,不过麻烦在每个tab选项卡都是一个组件.

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
js 表格隔行颜色
Dec 02 Javascript
关于锚点跳转及jQuery下相关操作与插件
Oct 01 Javascript
js 字符串转换成数字的三种方法
Mar 23 Javascript
jquery JSON的解析方式示例介绍
Jul 27 Javascript
jQuery formValidator表单验证
Jan 07 Javascript
WEB前端实现裁剪上传图片功能
Oct 17 Javascript
在React中如何优雅的处理事件响应详解
Jul 24 Javascript
微信小程序表单验证功能完整实例
Dec 01 Javascript
jQuery实现常见的隐藏与展示列表效果示例
Jun 04 jQuery
element ui 表格动态列显示空白bug 修复方法
Sep 04 Javascript
React router动态加载组件之适配器模式的应用详解
Sep 12 Javascript
Node中对非阻塞I/O、事件循环的知识点总结
Jan 05 Javascript
JavaScript 实现 Tab 点击切换实例代码
Mar 25 #Javascript
JS操作xml对象转换为Json对象示例
Mar 25 #Javascript
javascript实现的图片预览功能
Mar 25 #Javascript
JS控件bootstrap suggest plugin使用方法详解
Mar 25 #Javascript
bootstrap table动态加载数据示例代码
Mar 25 #Javascript
JS控件bootstrap datepicker使用方法详解
Mar 25 #Javascript
基于bootstrap按钮式下拉菜单组件的搜索建议插件
Mar 25 #Javascript
You might like
在Windows下编译适用于PHP 5.2.12及5.2.13的eAccelerator.dll(附下载)
2010/05/04 PHP
php Smarty初体验二 获取配置信息
2011/08/08 PHP
php中smarty变量修饰用法实例分析
2015/06/11 PHP
laravel5使用freetds连接sql server的方法
2018/12/07 PHP
Thinkphp5.0 框架视图view的比较标签用法分析
2019/10/12 PHP
javascript 数组的方法集合
2008/06/05 Javascript
Prototype ObjectRange对象学习
2009/07/19 Javascript
jQuery判断密码强度实现思路及代码
2013/04/24 Javascript
14款NodeJS Web框架推荐
2014/07/11 NodeJs
纯javascript实现简单下拉刷新功能
2015/03/13 Javascript
jQuery实现下拉菜单(内容为时间)的实时更新及图表的随动更新的方法
2016/07/07 Javascript
最细致的vue.js基础语法 值得收藏!
2016/11/03 Javascript
详解前端构建工具gulpjs的使用介绍及技巧
2017/01/19 Javascript
Vue.js实现按钮的动态绑定效果及实现代码
2017/08/21 Javascript
超简单的微信小程序轮播图
2019/11/22 Javascript
jQuery实现简易QQ聊天框
2020/02/10 jQuery
js数组中去除重复值的几种方法
2020/08/03 Javascript
windows10系统中安装python3.x+scrapy教程
2016/11/08 Python
python实现FTP服务器服务的方法
2017/04/11 Python
浅谈Python实现贪心算法与活动安排问题
2017/12/19 Python
python版飞机大战代码分享
2018/11/20 Python
对Python3 解析html的几种操作方式小结
2019/02/16 Python
在python里使用await关键字来等另外一个协程的实例
2020/05/04 Python
TensorFlow Autodiff自动微分详解
2020/07/06 Python
基于CSS3的CSS 多栏(Multi-column)实现瀑布流源码分享
2014/06/11 HTML / CSS
英国标准协会商店:BSI Shop
2019/02/25 全球购物
信息系统专业个人求职信范文
2013/12/07 职场文书
英语生日邀请函
2014/01/23 职场文书
《金子》教学反思
2014/04/13 职场文书
销售人员工作自我评价
2014/09/21 职场文书
扶贫办主任查摆“四风”问题个人对照检查材料思想汇报
2014/10/02 职场文书
交通事故一次性赔偿协议书范本
2014/11/02 职场文书
大学生学生会工作总结2015
2015/05/26 职场文书
外出听课学习心得体会
2016/01/15 职场文书
教师正风肃纪心得体会
2016/01/15 职场文书
volatile保证可见性及重排序方法
2022/08/05 Java/Android