Vue.js tab实现选项卡切换


Posted in Javascript onMay 16, 2017

本文为大家分享了Vuejs 组件化开发tab组件实例,供大家参考,具体内容如下

<!DOCTYPE html>
<html lang="en">

<head>
 <meta charset="UTF-8">
 <title>index</title>
 <link rel="stylesheet" href="css/index.css" >
 <script type="text/javascript" src="../lib/vue.min.js"></script>
 <script type="text/javascript" src="../lib/jquery-1.11.3.min.js"></script>
 <style>
 * {
 margin: 0;
 padding: 0;
 }

 #tabPanel .itemname {
 height: 40px;
 width: 180px;
 margin-bottom: 10px;
 }

 #tabPanel .itemcontent {
 height: 40px;
 width: 180px;
 }

 #tabPanel .addbtn {
 margin: 10px 0 0 95px;
 width: 185px;
 height: 40px;
 }

 #tabPanel .active {
 background: #eee;
 }

 #tabPanel {
 height: 340px;
 width: 500px;
 margin: 100px auto;
 }

 #tabPanel .tab {
 height: 40px;
 background: #ccc;
 margin-top: 10px;
 }

 #tabPanel .tab ul li {
 list-style: none;
 float: left;
 width: 80px;
 height: 40px;
 text-align: center;
 line-height: 40px;
 }

 #tabPanel .content {
 height: 300px;
 width: 500px;
 background: #eee;
 }
 </style>
</head>

<body>

 <div id="tabItem">
 <my-tab></my-tab>
 <my-tab></my-tab>
 </div>

 <!--组件模板-->
 <script type="text/template" id="tab">
 <div id="tabPanel">
 <label>添加滑块名称:<input type="text" v-model="tabItem" class="itemname"></label><br>
 <label>添加滑块内容:<input type="text" v-model="tabContent" class="itemcontent"></label><br>
 <input type="button" value="添加选项" @click="addItem()" class="addbtn">
 <div class="tab">
 <ul>
  <li v-for="(value, index) in tabs" v-bind:class="{active: index == num }" @mouseover="toggle(index)" @dblclick="del(index)">{{value}}</li>
 </ul>
 </div>
 <div class="content">
 <div class="box" v-for="(value, index) in tabContents" v-show="index == num" contenteditable="true" @blur="editContent(index,value)">{{value+index}}</div>
 </div>
 </div>
 </script>
 <!--组件模板-->
</body>

</html>
<script>
 var vue = new Vue({
 el: "#tabItem",
 data: {

 },
 components: {
 'my-tab': {
 template: '#tab',
 data: function() {
  return {
  tabs: ["第一项", "第二项"],
  tabContents: ["第一项内容", "第二项内容"],
  num: 0,
  tabItem: "",
  tabContent: ""
  }
 },
 methods: {
  //切换滑块
  toggle: function(index) {
  this.num = index;
  },
  //添加滑块
  addItem: function() {
  if (this.tabItem == "" || this.tabContent == "") {
  alert("填写完整的名称和内容");
  } else {
  this.tabs.push(this.tabItem);
  this.tabContents.push(this.tabContent);
  }
  },
  //双击删除滑块
  del: function(index) {
  this.tabs.splice(index, 1);
  this.tabContents.splice(index, 1)
  },
  //编辑选项内容
  editContent: function(index, value) {
  this.tabContents[index] = value;
  console.log(this.tabContents);
  }
 }
 }
 }
 });
</script>

如果大家还想深入学习,可以点击两个精彩的专题:javascript选项卡操作方法汇总 jquery选项卡操作方法汇总

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

Javascript 相关文章推荐
拉动滚动条加载数据的jquery代码
May 03 Javascript
jQuery中 noConflict() 方法使用
Apr 25 Javascript
js 固定悬浮效果实现思路代码
Aug 02 Javascript
jQuery中parentsUntil()方法用法实例
Jan 07 Javascript
JavaScript获取function所有参数名的方法
Oct 30 Javascript
详解Angularjs中的依赖注入
Mar 11 Javascript
js实现扫雷小程序的示例代码
Sep 27 Javascript
Node错误处理笔记之挖坑系列教程
Jun 05 Javascript
详解vue beforeRouteEnter 异步获取数据给实例问题
Aug 09 Javascript
微信小程序实现限制用户转发功能的实例代码
Feb 22 Javascript
Vuex的各个模块封装的实现
Jun 05 Javascript
Vue 禁用浏览器的前进后退操作
Sep 04 Javascript
Vue.js手风琴菜单组件开发实例
May 16 #Javascript
Bootstrap fileinput文件上传预览插件使用详解
May 16 #Javascript
js自定义瀑布流布局插件
May 16 #Javascript
简单实现js点击展开二级菜单功能
May 16 #Javascript
JavaScript禁止微信浏览器下拉回弹效果
May 16 #Javascript
jQuery实现div跟随鼠标移动
Aug 20 #jQuery
jquery+ajax实现省市区三级联动 (封装和不封装两种方式)
May 15 #jQuery
You might like
PHP个人网站架设连环讲(二)
2006/10/09 PHP
一个简单的PHP验证码实现代码
2014/05/10 PHP
PHP生成二维码的两个方法和实例
2014/07/01 PHP
php创建多级目录的方法
2015/03/24 PHP
PHP-FPM实现性能优化
2016/03/31 PHP
让你的PHP7更快之Hugepage用法分析
2016/05/31 PHP
PHP会话控制实例分析
2016/12/24 PHP
Jquery 组合form元素为json格式,asp.net反序列化
2009/07/09 Javascript
Javascript的构造函数和constructor属性
2010/01/09 Javascript
我遇到的参数传递中 双引号单引号嵌套问题
2010/02/11 Javascript
js遍历、动态的添加数据的小例子
2013/06/22 Javascript
NodeJS与Mysql的交互示例代码
2013/08/18 NodeJs
javascript自动给文本url地址增加链接的方法分享
2014/01/20 Javascript
JavaScript中的方法重载实例
2015/03/16 Javascript
Ionic3 UI组件之autocomplete详解
2017/06/08 Javascript
React 无状态组件(Stateless Component) 与高阶组件
2018/08/14 Javascript
详解在Node.js中发起HTTP请求的5种方法
2019/01/10 Javascript
基于JS判断对象是否是数组
2020/01/10 Javascript
8个非常实用的Vue自定义指令
2020/12/15 Vue.js
[00:53]2015国际邀请赛 中国区预选赛一触即发
2015/05/14 DOTA
Python打造出适合自己的定制化Eclipse IDE
2016/03/02 Python
Python脚本实现自动发带图的微博
2016/04/27 Python
安装Python和pygame及相应的环境变量配置(图文教程)
2017/06/04 Python
python进阶_浅谈面向对象进阶
2017/08/17 Python
django项目运行因中文而乱码报错的几种情况解决
2017/11/07 Python
pycharm远程调试openstack代码
2017/11/21 Python
Python numpy生成矩阵、串联矩阵代码分享
2017/12/04 Python
基于Python实现的微信好友数据分析
2018/02/26 Python
Python聊天室程序(基础版)
2018/04/01 Python
关于tensorflow的几种参数初始化方法小结
2020/01/04 Python
土耳其新趋势女装购物网站:Addax
2020/01/07 全球购物
劳资人员岗位职责
2013/12/19 职场文书
中国梦读书活动总结
2014/07/10 职场文书
2014财务年度工作总结
2014/11/11 职场文书
2019年作为一名实习生的述职报告
2019/09/29 职场文书
python 爬取京东指定商品评论并进行情感分析
2021/05/27 Python