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 相关文章推荐
提高代码性能技巧谈—以创建千行表格为例
Jul 01 Javascript
javascript concat数组累加 示例
Sep 03 Javascript
jquery应该如何来设置改变按钮input的onclick事件
Dec 10 Javascript
解析js如何获取当前url中的参数值并复制给input
Jun 23 Javascript
使用JS读取XML文件的方法
Nov 25 Javascript
ReactJs快速入门教程(精华版)
Nov 28 Javascript
微信小程序 免费SSL证书https、TLS版本问题的解决办法
Dec 14 Javascript
js动态设置select下拉菜单的默认选中项实例
Aug 21 Javascript
微信小程序顶部导航栏滑动tab效果
Jan 28 Javascript
Vue实现点击按钮复制文本内容的例子
Nov 09 Javascript
JavaScript中的惰性载入函数及优势
Feb 18 Javascript
javascript 模块依赖管理的本质深入详解
Apr 30 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
php 文本文件的读取效率
2012/02/10 PHP
php 中文字符串首字母的获取函数分享
2013/11/04 PHP
PHP5全版本绕过open_basedir读文件脚本漏洞详细介绍
2015/01/20 PHP
PHP网页缓存技术优点及代码实例
2020/07/29 PHP
js局部刷新页面时间具体实现
2013/07/04 Javascript
js调用打印机打印网页字体总是缩小一号的解决方法
2014/01/24 Javascript
浅谈js的setInterval事件
2014/12/05 Javascript
纯jquery实现模仿淘宝购物车结算
2015/08/20 Javascript
jQuery  ready方法实现原理详解
2016/10/19 Javascript
微信小程序 缓存(本地缓存、异步缓存、同步缓存)详解
2017/01/17 Javascript
JavaScript字符串检索字符的方法
2017/06/23 Javascript
vue路由拦截及页面跳转的设置方法
2018/05/24 Javascript
vue数组对象排序的实现代码
2018/06/20 Javascript
mpvue小程序仿qq左滑置顶删除组件
2018/08/03 Javascript
element-ui 中的table的列隐藏问题解决
2018/08/24 Javascript
浅谈express.js框架中间件(middleware)
2019/04/07 Javascript
使用typescript构建Vue应用的实现
2019/08/26 Javascript
[48:11]完美世界DOTA2联赛 Magma vs GXR 第二场 11.07
2020/11/10 DOTA
归纳整理Python中的控制流语句的知识点
2015/04/14 Python
Python基于回溯法子集树模板解决选排问题示例
2017/09/07 Python
使用python中的in ,not in来检查元素是不是在列表中的方法
2018/07/06 Python
利用Python进行数据可视化常见的9种方法!超实用!
2018/07/11 Python
Python 中的lambda函数介绍
2018/10/10 Python
Python检测数据类型的方法总结
2019/05/20 Python
解决pycharm 远程调试 上传 helpers 卡住的问题
2019/06/27 Python
flask框架url与重定向操作实例详解
2020/01/25 Python
浅谈python中频繁的print到底能浪费多长时间
2020/02/21 Python
Python实现捕获异常发生的文件和具体行数
2020/04/25 Python
python修改微信和支付宝步数的示例代码
2020/10/12 Python
Html5 Geolocation获取地理位置信息实例
2016/12/09 HTML / CSS
C#基础面试题
2016/10/17 面试题
一份报关员的职业规划范文
2014/01/08 职场文书
租车协议书范本
2014/04/22 职场文书
家长高考寄语
2015/02/27 职场文书
前台岗位职责范本
2015/04/16 职场文书
PHP控制循环操作的时间
2021/04/01 PHP