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模板技术
Apr 27 Javascript
JavaScript中获取元素索引的函数
Sep 10 Javascript
JS限制Textarea文本域字符个数的具体实现
Aug 02 Javascript
JavaScript实现删除,移动和复制文件的方法
Aug 05 Javascript
jQuery实现默认是闭合的FAQ展开效果菜单
Sep 14 Javascript
Javascript中的arguments对象
Jun 20 Javascript
JS实现控制文本框的内容
Jul 10 Javascript
Bootstrap 网站实例之单页营销网站
Oct 20 Javascript
浅谈Angular中ngModel的$render
Oct 24 Javascript
详解如何在Angular优雅编写HTTP请求
Dec 05 Javascript
JavaScript学习笔记之DOM操作实例分析
Jan 08 Javascript
解决vue prop传值default属性如何使用,为何不生效的问题
Sep 21 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中10个不常见却非常有用的函数
2010/03/21 PHP
PHP 多维数组排序(usort,uasort)
2010/06/30 PHP
thinkphp中字符截取函数msubstr()用法分析
2016/01/09 PHP
PHP环境搭建的详细步骤
2016/06/30 PHP
PHP异常处理定义与使用方法分析
2017/07/25 PHP
JS中彻底删除JSON对象组成的数组中的元素
2020/09/22 PHP
Javascript 构造函数,公有,私有特权和静态成员定义方法
2009/11/30 Javascript
jquery的$(document).ready()和onload的加载顺序
2010/05/26 Javascript
如何让页面在打开时自动刷新一次让图片全部显示
2012/12/17 Javascript
javascript获取URL参数与参数值的示例代码
2013/12/20 Javascript
node.js中的fs.readlink方法使用说明
2014/12/17 Javascript
Bootstrap的class样式小结
2016/12/01 Javascript
关于vuex的学习实践笔记
2017/04/05 Javascript
Vue实现textarea固定输入行数与添加下划线样式的思路详解
2018/06/28 Javascript
JavaScript中filter的用法实例分析
2019/02/27 Javascript
pageGroup.js实现分页功能
2019/07/27 Javascript
在Angular中实现一个级联效果的下拉框的示例代码
2020/05/20 Javascript
Map与WeakMap类型在JavaScript中的使用详解
2020/11/18 Javascript
基于Python实现通过微信搜索功能查看谁把你删除了
2016/01/27 Python
python实现逻辑回归的方法示例
2017/05/02 Python
对python的unittest架构公共参数token提取方法详解
2018/12/17 Python
python 获取utc时间转化为本地时间的方法
2018/12/31 Python
python多线程并发让两个LED同时亮的方法
2019/02/18 Python
详解python3 + Scrapy爬虫学习之创建项目
2019/04/12 Python
Python-jenkins模块获取jobs的执行状态操作
2020/05/12 Python
Python 创建守护进程的示例
2020/09/29 Python
CSS3径向渐变之大鱼吃小鱼之孤单的大鱼
2016/04/26 HTML / CSS
神路信息Java面试题目
2013/03/31 面试题
致长跑运动员广播稿
2014/01/31 职场文书
2014年师德师风学习材料
2014/05/16 职场文书
庆元旦演讲稿
2014/09/15 职场文书
简单的个人租房协议书范本
2014/11/26 职场文书
2015入党自荐书范文
2015/03/05 职场文书
保护环境建议书作文300字
2015/09/14 职场文书
Redis Cluster 字段模糊匹配及删除
2021/05/27 Redis
关于antd tree 和父子组件之间的传值问题(react 总结)
2021/06/02 Javascript