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 Ajax文件上传(php)
Jun 16 Javascript
Javascript倒计时代码
Aug 12 Javascript
jquery向.ashx文件post中文乱码问题的解决方法
Mar 28 Javascript
javascript 正则表达式相关应介绍
Nov 27 Javascript
jQuery中多个元素的Hover事件解决方案
Jun 12 Javascript
简介JavaScript中substring()方法的使用
Jun 06 Javascript
Node.js Addons翻译(C/C++扩展)
Jun 12 Javascript
jQuery网页定位导航特效实现方法
Dec 19 Javascript
EasyUI修改DateBox和DateTimeBox的默认日期格式示例
Jan 18 Javascript
Vue.set 全局操作简单示例
Sep 19 Javascript
LayUi使用switch开关,动态的去控制它是否被启用的方法
Sep 21 Javascript
vue项目proxyTable配置和部署服务器
Apr 14 Vue.js
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+mysqli实现将数据库中一张表信息打印到表格里的方法
2015/01/28 PHP
分享自定义的几个PHP功能函数
2015/04/15 PHP
实用javaScript技术-屏蔽类
2006/08/15 Javascript
javascript编程起步(第六课)
2007/01/10 Javascript
Add Formatted Data to a Spreadsheet
2007/06/12 Javascript
jQuery 相关控件的事件操作分解
2009/08/03 Javascript
jQuery 常见开发使用技巧总结
2009/12/26 Javascript
js/jquery解析json和数组格式的方法详解
2014/01/09 Javascript
javascript中加号(+)操作符的一些神奇作用
2014/06/06 Javascript
配置Grunt的Task时通配符支持和动态生成文件名问题
2015/09/06 Javascript
Jquery左右滑动插件之实现超级炫酷动画效果附源码下载
2015/12/02 Javascript
jquery插件Jplayer使用方法简析
2016/04/22 Javascript
动态生成的DOM不会触发onclick事件的原因及解决方法
2016/08/06 Javascript
浅谈jquery中next与siblings的区别
2016/10/27 Javascript
BOM之navigator对象和用户代理检测
2017/02/10 Javascript
使用原生的javascript来实现轮播图
2017/02/24 Javascript
ES6学习教程之块级作用域详解
2017/10/09 Javascript
解决vue的router组件component在import时不能使用变量问题
2020/07/26 Javascript
[04:44]DOTA2 2017全国高校联赛视频回顾
2017/08/21 DOTA
python读写ini文件示例(python读写文件)
2014/03/25 Python
Python实现批量更换指定目录下文件扩展名的方法
2016/09/19 Python
python库lxml在linux和WIN系统下的安装
2018/06/24 Python
详解用python实现基本的学生管理系统(文件存储版)(python3)
2019/04/25 Python
PyQt5实现从主窗口打开子窗口的方法
2019/06/19 Python
python sklearn库实现简单逻辑回归的实例代码
2019/07/01 Python
python中的反斜杠问题深入讲解
2019/08/12 Python
python中matplotlib条件背景颜色的实现
2019/09/02 Python
python实现测试工具(一)——命令行发送get请求
2020/10/19 Python
如何使用canvas绘制可移动网格的示例代码
2020/12/14 HTML / CSS
移动通信专业自荐信范文
2013/11/12 职场文书
求职自荐信格式
2013/12/04 职场文书
高一物理教学反思
2014/01/24 职场文书
美容院店长岗位职责
2014/04/08 职场文书
经营目标管理责任书
2014/07/25 职场文书
2014年导购员工作总结
2014/11/18 职场文书
MYSQL 无法识别中文的永久解决方法
2021/06/03 MySQL