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学习2 选择器的使用说明
Feb 07 Javascript
struts2+jquery+json实现异步加载数据(自写)
Jun 24 Javascript
JavaScript截取字符串的2个函数介绍
Aug 27 Javascript
用javascript将数据导入Excel示例代码
Sep 10 Javascript
JavaScript中判断整数的多种方法总结
Nov 08 Javascript
三分钟学会用ES7中的Async/Await进行异步编程
Jun 14 Javascript
详解webpack 热更新优化
Sep 13 Javascript
vue实现双向绑定和依赖收集遇到的坑
Nov 29 Javascript
150行Node.js实现的dns代理工具
Aug 02 Javascript
浅谈javascript错误处理
Aug 11 Javascript
在vue项目中使用codemirror插件实现代码编辑器功能
Aug 27 Javascript
JavaScript React如何修改默认端口号方法详解
Jul 28 Javascript
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
PHP安全技术之 实现php基本安全
2010/09/04 PHP
thinkPHP框架实现的短信接口验证码功能示例
2018/06/20 PHP
强悍无比的WEB开发好助手FireBug(Firefox Plugin)
2007/01/16 Javascript
javascript实现的动态添加表单元素input,button等(appendChild)
2007/11/24 Javascript
关于Javascript模块化和命名空间管理的问题说明
2010/12/06 Javascript
Javascript类定义语法,私有成员、受保护成员、静态成员等介绍
2011/12/08 Javascript
js 遍历对象的属性的代码
2011/12/29 Javascript
不同的jQuery API来处理不同的浏览器事件
2012/12/09 Javascript
JS预览图像将本地图片显示到浏览器上
2013/08/25 Javascript
JavaScript中获取高度和宽度函数总结
2014/10/08 Javascript
如何用javascript计算文本框还能输入多少个字符
2015/07/29 Javascript
javascript自动恢复文本框点击清除后的默认文本
2016/01/12 Javascript
原生js实现中奖信息无间隙滚动效果
2017/01/18 Javascript
vue-swiper的使用教程
2018/08/30 Javascript
Jquery遍历筛选数组的几种方法和遍历解析json对象,Map()方法详解以及数组中查询某值是否存在
2019/01/18 jQuery
vue 兄弟组件的信息传递的方法实例详解
2019/08/30 Javascript
Vuex,iView UI面包屑导航使用扩展详解
2019/11/04 Javascript
vuejs中父子组件之间通信方法实例详解
2020/01/17 Javascript
Python运用于数据分析的简单教程
2015/03/27 Python
python使用mailbox打印电子邮件的方法
2015/04/30 Python
Python设计模式之抽象工厂模式
2016/08/25 Python
python itchat实现微信好友头像拼接图的示例代码
2017/08/14 Python
python爬虫使用cookie登录详解
2017/12/27 Python
Python利用openpyxl库遍历Sheet的实例
2018/05/03 Python
python如何实现DES加密
2020/09/21 Python
python 实现&quot;神经衰弱&quot;翻牌游戏
2020/11/09 Python
CSS3 选择器 属性选择器介绍
2012/01/21 HTML / CSS
CSS的pointer-events属性详细介绍(作用和注意事项)
2014/04/23 HTML / CSS
处理textarea中的换行和空格
2019/12/12 HTML / CSS
利用Node实现HTML5离线存储的方法
2020/10/16 HTML / CSS
专门出售各种儿童读物的网站:Put Me In The Story
2016/08/07 全球购物
美国殿堂级滑板、冲浪、滑雪服装品牌:Volcom(钻石)
2017/04/20 全球购物
泰国的头号网上婴儿用品店:Motherhood.co.th
2019/04/09 全球购物
物理系毕业生自荐信
2013/11/01 职场文书
住宅使用说明书
2014/05/09 职场文书
大学生敬老院活动总结
2015/05/07 职场文书