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 相关文章推荐
判断浏览器的javascript版本的代码
Sep 03 Javascript
对Jquery中的ajax再封装,简化操作示例
Feb 12 Javascript
createTextRange()的使用示例含文本框选中部分文字内容
Feb 24 Javascript
防止Node.js中错误导致进程阻塞的办法
Aug 11 Javascript
Angular.js实现注册系统的实例详解
Dec 18 Javascript
JS使用正则实现去掉字符串左右空格的方法
Dec 27 Javascript
vue.js中$set与数组更新方法
Mar 08 Javascript
js实现购物车功能
Jun 12 Javascript
浅谈React之状态(State)
Sep 19 Javascript
VUE实现可随意拖动的弹窗组件
Sep 25 Javascript
AngularJS $http post 传递参数数据的方法
Oct 09 Javascript
tracking.js实现前端人脸识别功能
Apr 16 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
阿拉伯的咖啡与水烟
2021/03/03 咖啡文化
CI框架给视图添加动态数据
2014/12/01 PHP
typecho插件编写教程(二):写一个新插件
2015/05/28 PHP
百度地图API使用方法详解
2015/08/25 PHP
php上传图片并压缩的实现方法
2015/12/22 PHP
PHP中危险的file_put_contents函数详解
2017/11/04 PHP
PHP生成图表pChart的示例解析
2020/07/31 PHP
JQuery 学习笔记 选择器之二
2009/07/23 Javascript
jquery教程ajax请求json数据示例
2014/01/13 Javascript
js判断60秒以及倒计时示例代码
2014/01/24 Javascript
在JavaScript中正确引用bind方法的应用
2015/05/11 Javascript
js 创建对象 经典模式全面了解
2016/08/16 Javascript
微信小程序 触控事件详细介绍
2016/10/17 Javascript
非常实用的vue导航钩子
2017/03/20 Javascript
微信小程序使用audio组件播放音乐功能示例【附源码下载】
2017/12/08 Javascript
微信小程序的线程架构【推荐】
2019/05/14 Javascript
[02:28]DOTA2亚洲邀请赛 LGD战队巡礼
2015/02/03 DOTA
Python使用函数默认值实现函数静态变量的方法
2014/08/18 Python
Python删除Java源文件中全部注释的实现方法
2017/08/30 Python
Scrapy框架爬取西刺代理网免费高匿代理的实现代码
2019/02/22 Python
Python Django给admin添加Action的方法实例详解
2019/04/29 Python
pytorch中nn.Conv1d的用法详解
2019/12/31 Python
Pytorch使用MNIST数据集实现CGAN和生成指定的数字方式
2020/01/10 Python
Python中过滤字符串列表的方法
2020/12/22 Python
html5声频audio和视频video等新特性详细说明
2012/12/26 HTML / CSS
欧洲顶级体育电子商务网站:SportsShoes.com
2018/03/27 全球购物
马来西亚户外装备商店:PTT Outdoor
2019/07/13 全球购物
上课说话检讨书大全
2014/01/22 职场文书
宣传策划类求职信范文
2014/01/31 职场文书
关于对大人不礼貌的检讨书
2014/09/29 职场文书
道路交通事故赔偿协议书
2014/10/24 职场文书
2015年社会实践个人总结
2015/03/06 职场文书
写给女朋友的保证书
2015/05/09 职场文书
求职自我评价参考范文
2019/05/16 职场文书
Linux系统下安装PHP7.3版本
2021/06/26 PHP
解决SpringBoot文件上传临时目录找不到的问题
2021/07/01 Java/Android