vue中tab选项卡的实现思路


Posted in Javascript onNovember 25, 2018

今天分享下vue中tab选项卡的套路,废话不多说,直接上效果图

vue中tab选项卡的实现思路

应用场景

•不同注册和登录方式切换
•操作选项切换 如保存和取消
•后台管理系统中各菜单选项切换等
•新闻标题分类切换 如关注 推荐 热点等分类

主要思路

•点击不同 tab 获取 tab 选项卡下标并为其动态绑定一个class(选中状态时的样式)
•点击时使 tab 对应的内容下标与 tab 选项卡下标保持一致
•使用 v-show / v-if 指令控制内容显示与隐藏

代码如下

<html lang="en">
<head>
 <meta charset="UTF-8">
 <meta name="viewport" content="width=device-width, initial-scale=1.0">
 <meta http-equiv="X-UA-Compatible" content="ie=edge">
 <title>tab</title>
 <script src="https://cdn.jsdelivr.net/npm/vue@2.5.17/dist/vue.js"></script>
 <style>
 html,
 body {
  height: 100%;
  margin: 0;
  padding: 0;
  background-color: #58596b;
 }
 .active {
  color: #fff;
  background: #e74c3c;
 }
 #app {
  width: 800px;
  height: 400px;
  margin: 100px auto;
  background-color: #fff;
  box-shadow: 0 1px 3px rgba(0, 0, 0, .1);
 }
 .menuList {
  width: 800px;
  height: 60px;
  background-color: #33344a;
 }
 ul {
  width: 100%;
  display: flex;
  list-style: none;
  padding: 0;
  margin: 0;
  color: #717181;
  font-size: 16px;
  line-height: 60px;
 }
 ul li {
  flex: 1;
  text-align: center;
  cursor: pointer;
 }
 .tabCon {
  width: 700px;
  margin: 0 auto;
  padding: 40px 20px;
  color: #999;
  font-size: 14px;
  background-color: #fff;
 }
 </style>
</head>
<body>
 <div id="app">
 <div class="menuList">
  <ul>
  <li v-for="(item,index) in list" :key="item.id" :class="{active:num==index}" @click="getNum(index)">
   {{item}}
  </li>
  </ul>
 </div>
 <div class="tabCon">
  <div v-for='(itemCon,index) in tabContents' v-show="index == num">
  {{itemCon}}
  </div>
 </div>
 </div>
 <script>
 var app = new Vue({
  el: "#app",
  data() {
  return {
   num: 0,
   list: ["张三丰", "独孤求败", "周伯通"],
   tabContents: [
   "张三丰,名君宝,字符元,道号三丰。武林至尊,民族英雄 、内拳始祖、太极始祖、武学泰斗、龙行书法始祖张三丰集各派绝学于一身,威震武林,造诣已达炼虚合道至高极境 [1] ,元末明初真人,武当山道人,武当派始祖,正史记载宋理宗淳佑七年(1247年) 出生辽东,14岁考取文武状元,18岁担任博陵县令,(1280年)辞官出家修道,拜火龙真人为师,武林盟主张三丰时隐时现,至今行踪不定,清朝道光年间曾出现在峨眉山。", 
   "独孤求败,自号“剑魔”,纵横江湖三十馀载,杀尽仇寇,败尽英雄,天下更无抗手,无可奈何,惟隐居深谷,以雕为友。呜呼,生平求一敌手而不可得,诚寂寥难堪也。在小说中从未出场过,只曾在人物的口中提及。",
   "周伯通不是金大师小说中的主角,也不是塑造的最丰满、最完善的形象,更不是侠客或英雄的代表,而且就武侠小说最基本的要素-武功、武学所达到的境界来说,周伯通也不是绝顶高手,但毫无疑问,周伯通是金大师所塑造的所有人物中最有意思的一位,至少是最有意思的人物之一。"],
  }
  },
  methods: {
  getNum(index) {
   this.num = index;
  }
  }
 })
 </script>
</body>
</html>

总结

以上所述是小编给大家介绍的vue中tab选项卡的实现思路,希望对大家有所帮助,如果大家有任何疑问小编会及时回复大家的!

Javascript 相关文章推荐
jQuery.extend 函数详解
Feb 03 Javascript
JavaScript中把数字转换为字符串的程序代码
Jun 19 Javascript
eclipse如何忽略js文件报错(附图)
Oct 30 Javascript
jquery cookie的用法总结
Nov 18 Javascript
jQuery结合CSS制作漂亮的select下拉菜单
May 03 Javascript
Angularjs material 实现搜索框功能
Mar 08 Javascript
JavaScript来实现打开链接页面的简单实例
Jun 02 Javascript
JS针对浏览器窗口关闭事件的监听方法集锦
Jun 24 Javascript
Node.js 回调函数实例详解
Jul 06 Javascript
微信小程序实现给嵌套template模板传递数据的方式总结
Dec 18 Javascript
基于 vue-skeleton-webpack-plugin 的骨架屏实战
Aug 05 Javascript
微信小程序音乐播放器开发
Nov 20 Javascript
Cookbook组件形式:优化 Vue 组件的运行时性能
Nov 25 #Javascript
vscode 开发Vue项目的方法步骤
Nov 25 #Javascript
浅谈Vue.js 中的 v-on 事件指令的使用
Nov 25 #Javascript
electron + vue项目实现打印小票功能及实现代码
Nov 25 #Javascript
vue组件实践之可搜索下拉框功能
Nov 25 #Javascript
详解离线安装npm包的几种方法
Nov 25 #Javascript
vue将单页面改造成多页面应用的方法
Nov 25 #Javascript
You might like
第1次亲密接触PHP5(2)
2006/10/09 PHP
整合了前面的PHP数据库连接类~~做成一个分页类!
2006/11/25 PHP
关于二级目录拖拽排序的实现(源码示例下载)
2013/04/26 PHP
php中serialize序列化与json性能测试的示例分析
2013/04/27 PHP
异步动态加载JS并运行(示例代码)
2013/12/13 Javascript
JavaScript设计模式之外观模式介绍
2014/12/28 Javascript
Javascript动态创建div的方法
2015/02/09 Javascript
IE及IE6浏览器中判断JS文件加载成功失败的方法
2015/02/18 Javascript
jQuery获得指定元素坐标的方法
2015/04/14 Javascript
CKEditor无法验证的解决方案(js验证+jQuery Validate验证)
2016/05/09 Javascript
webpack+vue-cil中proxyTable处理跨域的方法
2018/07/20 Javascript
在vue中多次调用同一个定义全局变量的实例
2018/09/25 Javascript
nodejs检测因特网是否断开的解决方案
2019/04/17 NodeJs
初学vue出现空格警告的原因及其解决方案
2019/10/31 Javascript
jquery插件实现轮播图效果
2020/10/19 jQuery
Python中用于检查英文字母大写的isupper()方法
2015/05/19 Python
老生常谈python之鸭子类和多态
2017/06/13 Python
Python微信企业号开发之回调模式接收微信端客户端发送消息及被动返回消息示例
2017/08/21 Python
Python实现将照片变成卡通图片的方法【基于opencv】
2018/01/17 Python
Windows下的Jupyter Notebook 安装与自定义启动(图文详解)
2018/02/21 Python
python pycurl验证basic和digest认证的方法
2018/05/02 Python
python调用百度REST API实现语音识别
2018/08/30 Python
python中pytest收集用例规则与运行指定用例详解
2019/06/27 Python
Python如何实现动态数组
2019/11/02 Python
从多个tfrecord文件中无限读取文件的例子
2020/02/17 Python
宝信软件JAVA工程师面试经历
2012/08/19 面试题
String和StringBuffer的区别
2015/08/13 面试题
上海中网科技笔试题
2012/02/19 面试题
DELPHI中如何调用API,可举例说明
2014/01/16 面试题
母亲80寿诞答谢词
2014/01/16 职场文书
食品安全检查制度
2014/02/03 职场文书
培训讲师岗位职责
2014/04/13 职场文书
关爱留守儿童标语
2014/06/18 职场文书
邀请函范文
2015/02/02 职场文书
2016党员干部政治学习心得体会
2016/01/23 职场文书
JS前端轻量fabric.js系列物体基类
2022/08/05 Javascript