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 相关文章推荐
JavaScript实现统计文本框Textarea字数增强用户体验
Dec 21 Javascript
js操纵跨frame的三级联动select下拉选项实例介绍
May 19 Javascript
鼠标焦点离开文本框时验证的js代码
Jul 19 Javascript
window.showModalDialog()返回值的学习心得总结
Jan 07 Javascript
JavaScript对象反射用法实例
Apr 17 Javascript
基于javascript实现仿百度输入框自动匹配功能
Jan 03 Javascript
浅谈js的url解析函数封装
Jun 28 Javascript
Bootstrap框架安装使用详解
Jan 21 Javascript
javascript将list转换成树状结构的实例
Sep 08 Javascript
Angular2仿照微信UI实现9张图片上传和预览的示例代码
Oct 19 Javascript
谈谈vue中mixin的一点理解
Dec 12 Javascript
React+TypeScript+webpack4多入口配置详解
Aug 08 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
thinkphp验证码显示不出来的解决方法
2014/03/29 PHP
php递归删除目录与文件的方法
2015/01/30 PHP
PHP实现统计所有字符在字符串中出现次数的方法
2017/10/17 PHP
PHP错误提示It is not safe to rely on the system……的解决方法
2019/03/25 PHP
Javascript 读书笔记索引贴
2010/01/11 Javascript
基于KMP算法JavaScript的实现方法分析
2013/05/03 Javascript
JQuery插件iScroll实现下拉刷新,滚动翻页特效
2014/06/22 Javascript
jQuery回调函数的定义及用法实例
2014/12/23 Javascript
PHP实现的各种中文编码转换类分享
2015/01/23 Javascript
javascript操作select元素实例分析
2015/03/27 Javascript
实现JavaScript的组成----BOM和DOM详解
2016/05/18 Javascript
JS实现屏蔽网页右键复制及ctrl+c复制的方法【2种方法】
2016/09/04 Javascript
Bootstrap轮播插件使用代码
2016/10/11 Javascript
微信小程序框架wepy之动态控制类名
2018/09/14 Javascript
微信小程序使用车牌号输入法的示例代码
2019/08/20 Javascript
JavaScript类的继承多种实现方法
2020/05/30 Javascript
[43:51]2018DOTA2亚洲邀请赛3月30日 小组赛B组 EG VS Secret
2018/03/31 DOTA
[14:21]VICI vs EG (BO3)
2018/06/07 DOTA
Python统计日志中每个IP出现次数的方法
2015/07/06 Python
python生成式的send()方法(详解)
2017/05/08 Python
Scrapy框架CrawlSpiders的介绍以及使用详解
2017/11/29 Python
Python将8位的图片转为24位的图片实现方法
2018/10/24 Python
PyQt5 实现字体大小自适应分辨率的方法
2019/06/18 Python
Python手绘可视化工具cutecharts使用实例
2019/12/05 Python
python画环形图的方法
2020/03/25 Python
Python如何实现爬取B站视频
2020/05/20 Python
优秀求职自荐信怎样写
2013/12/18 职场文书
食品安全承诺书
2014/05/22 职场文书
公司贷款承诺书
2014/05/30 职场文书
2015年医院创卫工作总结
2015/04/22 职场文书
巴黎圣母院读书笔记
2015/06/26 职场文书
小学教师教育随笔
2015/08/14 职场文书
Python 多线程之threading 模块的使用
2021/04/14 Python
MySQL库表太大怎么办? 数据库分库分表项目实践
2022/04/11 MySQL
python可视化分析绘制带趋势线的散点图和边缘直方图
2022/06/25 Python
css让页脚保持在底部位置的四种方案
2022/07/23 HTML / CSS