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 相关文章推荐
js中eval()函数和trim()去掉字符串左右空格应用
Feb 02 Javascript
JQuery以JSON方式提交数据到服务端示例代码
May 05 Javascript
浅谈Javascript中substr和substring的区别
Sep 30 Javascript
深入理解Javascript中的自执行匿名函数
Jun 03 Javascript
js实现交通灯效果
Jan 13 Javascript
Vue如何引入远程JS文件
Apr 20 Javascript
ionic中的$ionicPlatform.ready事件中的通用设置
Jun 11 Javascript
微信小程序点击控件修改样式实例详解
Jul 07 Javascript
javascript将list转换成树状结构的实例
Sep 08 Javascript
webpack配置之后端渲染详解
Oct 26 Javascript
jQuery实现的隔行变色功能【案例】
Feb 18 jQuery
vue简单练习 桌面时钟的实现代码实例
Sep 19 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
利用浏览器的Javascript控制台调试PHP程序
2014/01/08 PHP
浅析php中json_encode()和json_decode()
2014/05/25 PHP
利用php获得flv视频长度的实例代码
2017/10/26 PHP
JavaScript高级程序设计
2006/12/29 Javascript
用javascript实现分割提取页面所需内容
2007/05/09 Javascript
使用 Node.js 做 Function Test实现方法
2013/10/25 Javascript
JQuery中DOM事件冒泡实例分析
2015/06/13 Javascript
JS实现的左侧竖向滑动菜单效果代码
2015/10/19 Javascript
轻松学习jQuery插件EasyUI EasyUI表单验证
2015/12/01 Javascript
javascript绘制漂亮的心型线效果完整实例
2016/02/02 Javascript
深入理解setTimeout函数和setInterval函数
2016/05/20 Javascript
关于JS 预解释的相关理解
2016/06/28 Javascript
js获取元素下的第一级子元素的方法(推荐)
2017/03/05 Javascript
使用vue实现简单键盘的示例(支持移动端和pc端)
2017/12/25 Javascript
JavaScript中import用法总结
2019/01/20 Javascript
浅谈一种让小程序支持JSX语法的新思路
2019/06/16 Javascript
JavaScript函数IIFE使用详解
2019/10/21 Javascript
Vue中使用better-scroll实现轮播图组件
2020/03/07 Javascript
python实现的防DDoS脚本
2011/02/08 Python
Python整型运算之布尔型、标准整型、长整型操作示例
2017/07/21 Python
Python从Excel中读取日期一列的方法
2018/11/28 Python
Linux下Pycharm、Anaconda环境配置及使用踩坑
2018/12/19 Python
如何基于Python + requests实现发送HTTP请求
2020/01/13 Python
解决pycharm下pyuic工具使用的问题
2020/04/08 Python
python实现视频压缩功能
2020/12/18 Python
Darphin迪梵官网: 来自巴黎,植物和精油调制的护肤品牌
2016/10/11 全球购物
荷兰在线啤酒店:Beerwulf
2019/08/26 全球购物
一年级学生评语大全
2014/04/21 职场文书
和谐家庭演讲稿
2014/05/24 职场文书
乡镇群众路线整改落实情况汇报
2014/10/28 职场文书
个人年底工作总结
2015/03/10 职场文书
培训讲师开场白
2015/06/01 职场文书
追悼会悼词大全
2015/06/23 职场文书
2016年“节能宣传周”活动总结
2016/04/05 职场文书
七年级作文(600字3篇)
2019/09/24 职场文书
详解MySQL 用户权限管理
2021/04/20 MySQL