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 相关文章推荐
Mootools 1.2教程 输入过滤第二部分(字符串)
Sep 15 Javascript
js操作checkbox遇到的问题解决
Jun 29 Javascript
Js可拖拽放大的层拖动特效实现方法
Feb 25 Javascript
JavaScript的兼容性与调试技巧
Nov 22 Javascript
Html中 IFrame的用法及注意点
Dec 22 Javascript
基于AngularJS的拖拽文件上传的实例代码
Jul 15 Javascript
Vue实现购物车场景下的应用
Nov 27 Javascript
详解使用webpack构建多页面应用
Dec 21 Javascript
vue使用axios时关于this的指向问题详解
Dec 22 Javascript
Node.js使用Angular简单示例
May 11 Javascript
JS数组降维的实现Array.prototype.concat.apply([], arr)
Apr 28 Javascript
利用Vue实现简易播放器的完整代码
Dec 30 Vue.js
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
apache+codeigniter 通过.htcaccess做动态二级域名解析
2012/07/01 PHP
异步加载技术实现当滚动条到最底部的瀑布流效果
2014/09/16 PHP
PHP+jQuery 注册模块开发详解
2014/10/14 PHP
PHP实现的memcache环形队列类实例
2015/07/28 PHP
CodeIgniter集成smarty的方法详解
2016/05/26 PHP
PHP操作MySQL中BLOB字段的方法示例【存储文本与图片】
2017/09/15 PHP
ThinkPHP3.2.3框架实现的空模块、空控制器、空操作,跳转到错误404页面图文详解
2019/04/03 PHP
自己实现string的substring方法 人民币小写转大写,数字反转,正则优化
2012/09/02 Javascript
jquery左右滚动焦点图banner图片鼠标经过显示上下页按钮
2013/10/11 Javascript
父页面显示遮罩层弹出半透明状态的dialog
2014/03/04 Javascript
Jquery中CSS选择器用法分析
2015/02/10 Javascript
jQuery实现在下拉列表选择时获取json数据的方法
2015/04/16 Javascript
jQuery实现文件上传进度条特效
2015/08/12 Javascript
jQuery实现TAB风格的全国省份城市滑动切换效果代码
2015/08/24 Javascript
基于angularjs实现图片放大镜效果
2016/08/31 Javascript
什么是Vue.js框架 为什么选择它?
2017/10/17 Javascript
浅谈mint-ui loadmore组件注意的问题
2017/11/08 Javascript
Webpack实战加载SVG的方法
2017/12/26 Javascript
浅析Vue 中的 render 函数
2020/02/28 Javascript
浅谈Vuex的this.$store.commit和在Vue项目中引用公共方法
2020/07/24 Javascript
vue router返回到指定的路由的场景分析
2020/11/10 Javascript
[03:16]DOTA2完美大师赛小组赛精彩集锦
2017/11/22 DOTA
Python多线程编程(一):threading模块综述
2015/04/05 Python
Python中表达式x += y和x = x+y 的区别详解
2017/06/20 Python
python 批量修改/替换数据的实例
2018/07/25 Python
基于python if 判断选择结构的实例详解
2019/05/06 Python
python把转列表为集合的方法
2019/06/28 Python
python批量将excel内容进行翻译写入功能
2019/10/10 Python
总经理司机职责
2014/02/02 职场文书
暑期研修感言
2014/02/17 职场文书
《最后的姿势》教学反思
2014/02/27 职场文书
新闻专业毕业生英文求职信
2014/03/19 职场文书
小学生寒假家长评语
2014/04/16 职场文书
房屋维修协议书范本
2014/09/25 职场文书
婚宴领导致辞
2015/07/28 职场文书
2016年基层党组织公开承诺书
2016/03/25 职场文书