• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com专业计算机教程网站
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • html/xhtml
  • html5
  • CSS
  • XML/XSLT
  • Dreamweaver教程
  • Frontpage教程
  • 心得技巧
  • bootstrap
  • vue
  • AngularJS
  • HBuilder教程
  • css3
  • 浏览器兼容
  • div/css
  • 网页编辑器
  • axure
您的位置:首页 > 网页设计 >vue > 使用vue.js写一个tab选项卡效果

使用vue.js写一个tab选项卡效果

作者:勇PAN高峰 字体:[增加 减小] 来源:互联网 时间:2017-05-30

本文主要包含vue.js实现tab切换,vue.js tab,vue.js tab切换,vue tab切换,vue tab等相关知识,勇PAN高峰 希望在学习及工作中可以帮助到您

通常我们写tab选项卡的时候,一般都是用jq等去操作dom,给同级元素移除active类,然后,给被点击元素添加active类,但是在vue.js中,我们能不去操作dom我们就尽量不操作dom,那么该如何实现呢?

如果使用过vue-router,那么你会发现,vue-router在使用的时候其实就相当于一个tab选项卡,在点击之后,被点击的router-link元素会默认被添加上一个router-link-active的类,我们只需要设置这个类的样式即可.(当然,router-link-active)是vue-router默认的类名,你可以自己配置更改名称.这样我们可以直接使用vue的路由功能当tab选项卡使用了.那么如果不想用路由功能呢?

那么请看下面的方法:

html部分

<div id="app">
 <ul>  
  <li @click="toggle($index ,tab.view)" v-for="tab in tabs" :class="{active:active==$index}">
    {{tab.type}}  
   </li> 
 </ul> 
 <component :is="currentView"></component>
</div>
</div>

js部分

Vue.component('child1', { 
 template: "<p>this is child1</p>"
})
Vue.component('child2', { 
 template: "<p>this is child2</p>"
})
new Vue({ 
 el: "#app", 
 data: { 
 active: 0, 
 currentView: 'child1', 
 tabs: [ 
 {  
  type: 'tab1', 
  view: 'child1' 
 },  
 {  
  type: 'tab2', 
  view: 'child2' 
 } 
 ] 
}, 
 methods: { 
 toggle(i, v){ 
 this.active = i 
 this.currentView = v 
 } 
 }
})
</div>

然后我们只需要设置一个.active的样式就可以了,比如设置一个最简单的

css

.active{
 color:red
}
</div>

简易的vue.js tab 选项卡

原理很简单,我们给tab选项绑定了toggle方法,点击时让active等于其index,从而给其添加了一个active类,而显示的内容也是同样的原理.比起传统操作dom方法,这个整体看上去更简洁,不过麻烦在每个tab选项卡都是一个组件.

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

</div>

您可能想查找下面的文章:

  • vue.js实现价格格式化的方法
  • Vue.js tab实现选项卡切换
  • Vue.js实现移动端短信验证码功能
  • 使用vue.js写一个tab选项卡效果
  • Vue.js组件tab实现选项卡切换
  • Vue.js实现简单动态数据处理
  • 基于Vue.js实现简单搜索框
  • Vue.js实现无限加载与分页功能开发
  • 基于Vue.js实现数字拼图游戏

相关文章

  • 2017-05-30Vue.js之slot深度复制详解
  • 2017-05-30详解Vue2+Echarts实现多种图表数据可视化Dashboard(附源码)
  • 2017-05-30Vue 短信验证码组件开发详解
  • 2017-05-30vue.js中$watch的用法示例
  • 2017-05-30vue学习笔记之vue1.0和vue2.0的区别介绍
  • 2017-05-30Vue.js bootstrap前端实现分页和排序
  • 2017-05-30Vue.js父与子组件之间传参示例
  • 2018-11-20VUE插件总结
  • 2017-05-30Vue.js每天必学之构造器与生命周期
  • 2017-05-30Vue.js -- 过滤器使用总结

文章分类

  • html/xhtml
  • html5
  • CSS
  • XML/XSLT
  • Dreamweaver教程
  • Frontpage教程
  • 心得技巧
  • bootstrap
  • vue
  • AngularJS
  • HBuilder教程
  • css3
  • 浏览器兼容
  • div/css
  • 网页编辑器
  • axure

最近更新的内容

    • vscode写vue模板--代码片段
    • vuejs响应用户事件(如点击事件)
    • 利用Vue.js指令实现全选功能
    • Vuex之理解Mutations的用法实例
    • 基于vue-cli快速构建
    • Vue 2.0 服务端渲染入门介绍
    • vue数据双向绑定原理解析(get & set)
    • vue2.0嵌套路由实现豆瓣电影分页功能(附demo)
    • vue双向绑定的简单实现
    • vue 2.0组件与v-model详解

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有