Vue.js实现tab切换效果


Posted in Javascript onJuly 24, 2019

Vue是一个小巧轻便的JavaScript库。它有一个简单易懂的API,能够让开发者在开发web应用的时候更加简易便捷。实际上,一直让Vue引以为豪的是它的便捷性、执行力、灵活性。

目前在学习Vue.js。在学习的时候需要把手动操作DOM的思维去掉,因为Vue是数据驱动,不需要手动操作DOM。他通过一些特殊的hmtl语法,将DOM和数据绑定起来。一旦创建了绑定,DOM就会和数据保持同步,每当变更了数据,DOM也会相应的发生改变,更新。

下面是我用vue.js来实现的tab切换功能。

<!--这里是html结构-->
<div id="app">
    <ul>
      <li 
      v-for="(item,index) in tabs" 
      :class="{active:index == num}"
       @click="tab(index)">{{item}}</li>
    </ul>
    <div class="tabCon">
      <div 
      v-for='(itemCon,index) in tabContents' 
      v-show=" index == num">{{itemCon}}</div>
    </div>
  </div>
<!--这里是js代码-->
<script type="text/javascript">
var vm = new Vue({
  el: '#app',
  data: {
    tabs: ["标题一", "标题二","标题三"],
    tabContents: ["内容一", "内容二","内容三"],
    num: 1
  },
  methods: {
    tab(index) {
      this.num = index;
    }
  }
});
</script>

使用vue.js实现tab切换很简单,先使用v-for把数据遍历渲染到页面上,v-for中有一个index表示索引,将index作为参数传入到tab(index)这个函数中,在data中定义一个num变量,在title中如果index==num,这个title就会添加一个acive的class。当然,这个num是需要在tab()这个函数中不断改变的,需要将传入的索引值赋值给num,这样在.tabCon里,我们就可以用v-show做下判断。v-show=”index==num”,如果等于的话,当前的内容就会显示。否则隐藏。

我感觉学习vue,首先把以前的那种传统思维转变过来是主要的,其次就是不断实践,不断的敲代码,才可以更深入的学习Vue.js。

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

Javascript 相关文章推荐
详谈 Jquery Ajax异步处理Json数据.
Sep 09 Javascript
JS页面延迟执行一些方法(整理)
Nov 11 Javascript
js实现select跳转菜单新窗口效果代码分享(超简单)
Aug 21 Javascript
Jquery时间轴特效(三种不同类型)
Nov 02 Javascript
JS模态窗口返回值兼容问题的完美解决方法
May 28 Javascript
微信小程序page的生命周期和音频播放及监听实例详解
Apr 07 Javascript
解决循环中setTimeout执行顺序的问题
Jun 20 Javascript
jquery 键盘事件 keypress() keydown() keyup()用法总结
Oct 23 jQuery
vue-form表单验证是否为空值的实例详解
Oct 29 Javascript
Vue中使用Lodop插件实现打印功能的简单方法
Dec 19 Javascript
深入浅析golang zap 日志库使用(含文件切割、分级别存储和全局使用等)
Feb 19 Javascript
使用 Github Actions 自动部署 Angular 应用到 Github Pages的方法
Jul 20 Javascript
javascript面向对象三大特征之多态实例详解
Jul 24 #Javascript
javascript面向对象三大特征之继承实例详解
Jul 24 #Javascript
Vue.js组件实现选项卡以及切换特效
Jul 24 #Javascript
javascript中call,apply,callee,caller用法实例分析
Jul 24 #Javascript
javascript关于“时间”的一次探索
Jul 24 #Javascript
javascript面向对象三大特征之封装实例详解
Jul 24 #Javascript
解决vue-cli webpack打包开启Gzip 报错问题
Jul 24 #Javascript
You might like
模仿OSO的论坛(五)
2006/10/09 PHP
在任意字符集下正常显示网页的方法一
2007/04/01 PHP
php利用cookie实现自动登录的方法
2014/12/10 PHP
PHP计算当前坐标3公里内4个角落的最大最小经纬度实例
2016/02/26 PHP
php+javascript实现的动态显示服务器运行程序进度条功能示例
2017/08/07 PHP
PHP快速排序算法实现的原理及代码详解
2019/04/03 PHP
通过MSXML2自动获取QQ个人头像及在线情况(给初学者)
2007/01/22 Javascript
IE6与IE7中,innerHTML获取param的区别
2009/03/15 Javascript
jQuery Validation实例代码 让验证变得如此容易
2010/10/18 Javascript
jQuery学习笔记(4)--Jquery中获取table中某列值的具体思路
2013/04/10 Javascript
浅谈JavaScript中定义变量时有无var声明的区别
2014/08/18 Javascript
深入了解Node.js中的一些特性
2014/09/25 Javascript
Jquery 实现checkbox全选方法
2015/01/28 Javascript
jQuery中noConflict()用法实例分析
2015/02/08 Javascript
jsonp跨域请求数据实现手机号码查询实例分析
2015/12/12 Javascript
JS新包管理工具yarn和npm的对比与使用入门
2016/12/09 Javascript
jQuery的中 is(':visible') 解析及用法(必看)
2017/02/12 Javascript
JavaScript省市级联下拉菜单实例
2017/02/14 Javascript
JS实现字符串中去除指定子字符串方法分析
2018/05/17 Javascript
在Koa.js中实现文件上传的接口功能
2019/10/08 Javascript
Node.js中文件系统fs模块的使用及常用接口
2020/03/06 Javascript
js面试题之异步问题的深入理解
2020/09/20 Javascript
uni-app使用countdown插件实现倒计时
2020/11/01 Javascript
python实现udp数据报传输的方法
2014/09/26 Python
使用Python制作获取网站目录的图形化程序
2015/05/04 Python
独特的python循环语句
2016/11/20 Python
Python虚拟环境的原理及使用详解
2019/07/02 Python
Python使用import导入本地脚本及导入模块的技巧总结
2019/08/07 Python
python爬虫添加请求头代码实例
2019/12/28 Python
美国最大的无人机经销商:DroneNerds
2018/03/20 全球购物
KIKO MILANO西班牙官网:意大利领先的化妆品和护肤品品牌
2019/05/03 全球购物
NYX Professional Makeup官方网站:专业彩妆和美容产品
2019/10/29 全球购物
法院实习人员自我鉴定
2013/09/26 职场文书
暑期研修感言
2014/02/17 职场文书
法语专业求职信
2014/07/20 职场文书
pandas时间序列之pd.to_datetime()的实现
2022/06/16 Python