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中的常用事件bind、hover、toggle等示例介绍
Jul 21 Javascript
javascript删除数组重复元素的方法汇总
Jun 24 Javascript
javascript实现动态标签云
Oct 16 Javascript
Javascript实现Array和String互转换的方法
Dec 21 Javascript
React.js入门实例教程之创建hello world 的5种方式
May 11 Javascript
javascript图片预览和上传(兼容IE)
Mar 15 Javascript
jquery将标签元素的高设为屏幕的百分比
Apr 19 jQuery
微信小程序之页面跳转和参数传递的实现
Sep 29 Javascript
基于three.js编写的一个项目类示例代码
Jan 05 Javascript
Openlayers实现测量功能
Sep 25 Javascript
前端 javascript 实现文件下载的示例
Nov 24 Javascript
js用正则表达式筛选年月日的实例方法
Jan 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+Tidy-完美的XHTML纠错+过滤
2007/04/10 PHP
用Zend Encode编写开发PHP程序
2010/02/21 PHP
WordPress中注册菜单与调用菜单的方法详解
2015/12/18 PHP
php文件系统处理方法小结
2016/05/23 PHP
PHP解决中文乱码
2017/04/28 PHP
PHP使用xpath解析XML的方法详解
2017/05/20 PHP
thinkPHP3.2.2框架行为扩展及demo示例
2018/06/19 PHP
PHP中Static(静态)关键字功能与用法实例分析
2019/04/05 PHP
Json2Template.js 基于jquery的插件 绑定JavaScript对象到Html模板中
2011/10/29 Javascript
javascript实现促销倒计时+fixed固定在底部
2013/09/18 Javascript
javascript 动态创建表格的2种方法总结
2015/03/04 Javascript
一波JavaScript日期判断脚本分享
2016/03/06 Javascript
AngularJS ng-blur 指令详解及简单实例
2016/07/30 Javascript
简单实现jQuery上传图片显示预览功能
2020/06/29 jQuery
vue 使用 canvas 实现手写电子签名
2020/03/06 Javascript
JavaScript代理模式原理与用法实例详解
2020/03/10 Javascript
如何封装Vue Element的table表格组件
2021/02/06 Vue.js
python使用BeautifulSoup分页网页中超链接的方法
2015/04/04 Python
Python函数式编程指南(二):从函数开始
2015/06/24 Python
python检测是文件还是目录的方法
2015/07/03 Python
详解python算法之冒泡排序
2019/03/05 Python
浅析PyTorch中nn.Linear的使用
2019/08/18 Python
k-means 聚类算法与Python实现代码
2020/06/01 Python
Win10下用Anaconda安装TensorFlow(图文教程)
2020/06/18 Python
Python使用socket_TCP实现小文件下载功能
2020/10/09 Python
英国书籍、CD、DVD和游戏的第一道德零售商:Awesome Books
2020/02/22 全球购物
Ray-Ban雷朋奥地利官网:全球领先的太阳眼镜品牌
2020/10/12 全球购物
托管代码(Managed Code)和非托管代码(Unmanaged Code)有什么区别
2014/09/29 面试题
会计职业生涯规划书
2014/01/13 职场文书
超市端午节活动方案
2014/01/23 职场文书
幼儿园优秀教师事迹
2014/02/13 职场文书
2014教师个人自我评价范文
2014/09/13 职场文书
单位租房协议书范本
2014/12/04 职场文书
玄武湖导游词
2015/02/05 职场文书
学生会2016感恩节活动小结
2016/04/01 职场文书
SpringBoot集成Redis,并自定义对象序列化操作
2021/06/22 Java/Android