Vue.js组件tabs实现选项卡切换效果


Posted in Javascript onDecember 01, 2016

今天给大家分享一个小颖自己写的vue组件,因为小颖也才接触vue没多久,如果有什么不足的地方,希望大家提出来,小颖加以改正.以下就是具体如何实现tabs啦。

调用示例:

<template>
<div class="tabs-contents">
<!-- 调用tabs组件 -->
 <tabs :flag.sync='tabsShowFlag' :navtitle='navTitle' :navdata='navData'>
 <div class="tabs-body">
 <div v-if='navData[0].showFlag>0'>
 <div class="one-content">
 <p>二十国集团领导人第十一次峰会将于9月4日至5日在浙江杭州举行。峰会主题为“构建创新、活力、联动、包容的世界经济”。二 十国集团成员和嘉宾国领导人及有关国际组织负责人将应邀与会。中国国家主席将出席并主持会议,并出席金砖国家领导人非正式会晤等有关活动。二十国集团工商峰会将于9月3日至4日在浙江杭州举行。中国国家主席将出席开幕式并发表主旨演讲。部分二十国集团成员和嘉宾国领导人及有关国际组织负责人将应邀与会。 </p>
 </div>
 </div>
 <div v-if='navData[1].showFlag>0'>
 <div class="two-content">
 <p>党员领导干部</p>
 <div>
 盘点历届奥运会中国乒乓球队精彩比赛瞬间。2016里约奥运会乒乓球男团半决赛,中国3-0韩国晋级,张继科遭遇韩国小将郑荣植的顽强阻击,在两度落后的情况下,苦战五局才得以3:2涉险过关。图为张继科精彩比赛瞬间。
 </div>
 </div>
 </div>
 <div v-if='navData[2].showFlag>0'>
 <label class="glyphicon glyphicon-asterisk"></label>
 <span class="glyphicon glyphicon-remove"></span>
 <div class="two-content">
 <p>都说程序员有三宝:人傻,钱多,死得早。博主身边的程序“猿”一大半应了这三宝,这从侧面说明了一个问题,只有理性是过不好日子的。朋友们应该把工作与生活分开,让生活变得感性,让工作变得理性,两者相提并行,岂不快哉。咳,话题扯得有点远,今天博主给大家写一篇关于css如何设置select、radio 、 checkbox 、file样式的问题,这里不涉及模拟框,仅介绍原生情况下如何做到自定义样式,废话不多说,赖次够!</p>
 <div>
 北京时间8月16日早上,中国游泳队抵达北京,队员们一走出到达出口就被热情的粉丝们蜂拥围堵,尤其是宁泽涛、傅园慧等高人气运动员,更是寸步难行。供图:视觉中国
 </div>
 </div>
 </div>
 <div v-if='navData[3].showFlag>0'>
 <div class="form-horizontal">
 <div class="form-group">
 <label class="col-sm-3 control-label"><span class='add-people-sign'>*</span>姓名:</label>
 <div class="col-sm-2"><input type="text" class="form-control"></div>
 </div>
 </div>
 </div>
 </div>
 </tabs>

</div>
</template>
<script>
import tabs from './yezitabs.vue' //引入组件
export default {
 components: {
 tabs,
 },
 ready: function() {
 },
 methods: {
 },
 data() {
 return {
 tabsShowFlag:true,
 navTitle:'新闻',
 navData: [{
 key: 'biubiu',
 showFlag: 1,
 }, {
 key: '豆豆打豆豆',
 showFlag: -1,
 }, {
 key: '单身汪',
 showFlag: -1
 },{
 key: '喵嘞个咪',
 showFlag: -1
 }],
 }
 },
}
</script>
<style scoped>
</style>

实现tabs:

<template>
<div class="tabs-content" v-if='flag'>
 <div class="top">
 <div class="title">{{navtitle}}</div>
 <ul class="nav nav-tabs">
 <li v-for='(navindex,nav) in navdata' class="nav-li" v-bind:class='{active:nav.showFlag>=0}' @click='keyShowFun(navindex)'>
 <a href="#">{{nav.key}}</a>
 </li>
 </ul>
 </div>
 <div class="v-tabs-item">
 <slot></slot>
 </div>
</div>
</template>
<script>
export default {
 props: {
 flag: {
 type: Boolean,
 required: true,
 twoWay: true
 },
 navtitle: {
 type: String,
 default: ''
 },
 navdata: {
 type: Array,
 required: true,
 },
 },
 components: {

 },
 ready: function() {

 },
 methods: {
 keyShowFun:function(index){
 let _this=this;
 _this.navdata.forEach(function(item){
 item.showFlag=-1;
 });
 _this.navdata[index].showFlag=1;
 }
 },
 data() {
 return {
 }
 },
}
</script>
<style scoped>

</style>

效果图:

Vue.js组件tabs实现选项卡切换效果

本文已被整理到了《Vue.js前端组件学习教程》,欢迎大家学习阅读。

关于vue.js组件的教程,请大家点击专题vue.js组件学习教程进行学习。

如果大家还想深入学习,可以点击两个精彩的专题:javascript选项卡操作方法汇总 jquery选项卡操作方法汇总

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

Javascript 相关文章推荐
jquery与js函数冲突的两种解决方法
Sep 09 Javascript
当某个文本框成为焦点时即清除文本框内容
Apr 28 Javascript
Jquery仿IGoogle实现可拖动窗口示例代码
Aug 22 Javascript
跟我学习JScript的Bug与内存管理
Nov 18 Javascript
JavaScript的React Web库的理念剖析及基础上手指南
May 10 Javascript
jQuery中ajax错误调试分析
Dec 01 Javascript
在javascript中,null>=0 为真,null==0却为假,null的值详解
Feb 22 Javascript
javascript作用域链与执行环境详解
Mar 25 Javascript
js实现登录与注册界面
Nov 01 Javascript
vue获取当前点击的元素并传值的实例
Mar 09 Javascript
vue 弹框产生的滚动穿透问题的解决
Sep 21 Javascript
如何使用RoughViz可视化Vue.js中的草绘图表
Jan 30 Vue.js
IE8兼容Jquery.validate.js的问题
Dec 01 #Javascript
利用JQuery阻止事件冒泡
Dec 01 #Javascript
Vue.js第三天学习笔记(计算属性computed)
Dec 01 #Javascript
实例解析jQuery中如何取消后续执行内容
Dec 01 #Javascript
一个非常好用的文字滚动的案例,鼠标悬浮可暂停[两种方案任选]
Dec 01 #Javascript
jQuery中ajax错误调试分析
Dec 01 #Javascript
JQuery学习总结【二】
Dec 01 #Javascript
You might like
完美实现GIF动画缩略图的php代码
2011/01/02 PHP
sphinx增量索引的一个问题
2011/06/14 PHP
深入PHP curl参数的详解
2013/06/17 PHP
解决windows上php xdebug 无法调试的问题
2020/02/19 PHP
初学js插入节点appendChild insertBefore使用方法
2011/07/04 Javascript
利用javascript实现禁用网页上所有文本框,下拉菜单,多行文本域
2013/12/14 Javascript
js的Prototype属性解释及常用方法
2014/05/08 Javascript
JQuery给网页更换皮肤的方法
2015/05/30 Javascript
js实现文本框输入文字个数限制代码
2015/12/25 Javascript
全面解析bootstrap格子布局
2016/05/22 Javascript
JavaScript常用代码书写规范的超全面总结
2016/09/11 Javascript
html判断当前页面是否在iframe中的实例
2016/11/30 Javascript
Node.js使用gm拼装sprite图片
2017/07/04 Javascript
ajax请求data遇到的问题分析
2018/01/18 Javascript
redux-saga 初识和使用
2018/03/10 Javascript
vue.js+elementUI实现点击左右箭头切换头像功能(类似轮播图效果)
2019/09/05 Javascript
vue前端和Django后端如何查询一定时间段内的数据
2021/02/28 Vue.js
[02:16]完美世界DOTA2联赛PWL S3 集锦第三期
2020/12/21 DOTA
python正则表达式re模块详解
2014/06/25 Python
Python处理XML格式数据的方法详解
2017/03/21 Python
Python中matplotlib中文乱码解决办法
2017/05/12 Python
[原创]使用豆瓣提供的国内pypi源
2017/07/02 Python
Python中的浮点数原理与运算分析
2017/10/12 Python
Python实现合并同一个文件夹下所有txt文件的方法示例
2018/04/26 Python
python+pandas分析nginx日志的实例
2018/04/28 Python
python tkinter实现界面切换的示例代码
2019/06/14 Python
在django-xadmin中APScheduler的启动初始化实例
2019/11/15 Python
python目标检测给图画框,bbox画到图上并保存案例
2020/03/10 Python
Python request操作步骤及代码实例
2020/04/13 Python
Hotels.com南非:酒店预订
2017/11/02 全球购物
美国手机支架公司:PopSockets
2019/11/27 全球购物
秋季运动会广播稿大全
2014/02/17 职场文书
党的群众路线教育实践活动宣传方案
2014/02/23 职场文书
商场周年庆活动方案
2014/08/19 职场文书
2014年初级职称工作总结
2014/12/08 职场文书
高中生综合素质评价范文
2015/08/18 职场文书