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 相关文章推荐
javascript Object与Function使用
Jan 11 Javascript
jquery 插件实现图片延迟加载效果代码
Feb 06 Javascript
js 页面关闭前的出现提示的实现代码
May 25 Javascript
jquery js 获取时间差、时间格式具体代码
Jun 05 Javascript
jQuery动画效果-slideUp slideDown上下滑动示例代码
Aug 28 Javascript
JavaScript中的eval()函数使用介绍
Dec 31 Javascript
JavaScript tab选项卡插件实例代码
Feb 23 Javascript
使用jQuery制作基础的Web图片轮播效果
Apr 22 Javascript
Bootstrap3 datetimepicker控件使用实例
Dec 13 Javascript
微信页面倒计时代码(解决safari不兼容date的问题)
Dec 13 Javascript
基于JavaScript实现类名的添加与移除
Apr 23 Javascript
vue服务端渲染添加缓存的方法
Sep 18 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笔记之:数据类型与常量的使用分析
2013/05/14 PHP
Chrome中JSON.parse的特殊实现
2011/01/12 Javascript
分享一个自定义的console类 让你不再纠结JS中的调试代码的兼容
2012/04/20 Javascript
JavaScript版TAB选项卡效果实例
2013/08/16 Javascript
JavaScript移除数组内重复元素的方法
2015/03/18 Javascript
JS实现向表格行添加新单元格的方法
2015/03/30 Javascript
JAVA四种基本排序方法实例总结
2015/07/24 Javascript
jQuery插件之jQuery.Form.js用法实例分析(附demo示例源码)
2016/01/04 Javascript
Bootstrap按钮下拉菜单组件详解
2016/05/10 Javascript
jQuery ajax应用总结
2016/06/02 Javascript
微信小程序 教程之条件渲染
2016/10/18 Javascript
基于jQuery实现Tabs选项卡自定义插件
2016/11/21 Javascript
vue 的keep-alive缓存功能的实现
2018/03/22 Javascript
JS中原始值和引用值的储存方式示例详解
2018/03/23 Javascript
jquery实现搜索框功能实例详解
2018/07/23 jQuery
JS函数内部属性之arguments和this实例解析
2018/10/07 Javascript
了解在JavaScript中将值转换为字符串的5种方法
2019/06/06 Javascript
jQuery操作元素追加内容示例
2020/01/10 jQuery
Nuxt.js的路由跳转操作(页面跳转nuxt-link)
2020/11/06 Javascript
Python手机号码归属地查询代码
2016/05/04 Python
利用python操作SQLite数据库及文件操作详解
2017/09/22 Python
Django文件存储 自己定制存储系统解析
2019/08/02 Python
python如何将多个PDF进行合并
2019/08/13 Python
python实现单目标、多目标、多尺度、自定义特征的KCF跟踪算法(实例代码)
2020/01/08 Python
Django Haystack 全文检索与关键词高亮的实现
2020/02/17 Python
python操作微信自动发消息的实现(微信聊天机器人)
2020/07/14 Python
HTML5 video进入全屏和退出全屏的实现方法
2020/07/28 HTML / CSS
师范生自荐信范文
2013/10/06 职场文书
临床专业自荐信
2014/06/22 职场文书
工商管理自荐书
2014/07/06 职场文书
乡镇一岗双责责任书
2015/01/29 职场文书
工程部经理岗位职责
2015/02/02 职场文书
党支部培养考察意见
2015/06/02 职场文书
nginx反向代理时如何保持长连接
2021/03/31 Servers
MYSQL优化之数据表碎片整理详解
2022/04/03 MySQL
JS class语法糖的深入剖析
2022/07/07 Javascript