Vue入门(一)-Vue实现选项卡效果

来源:互联网 发布:产品经理数据分析手册 编辑:程序博客网 时间:2024/05/28 06:06

这里不跟大家再去把Vue文档上的一些指令用法或者基础知识再复述一遍,既然是从入门到实战,我直接将平时项目中需要实现的一些效果拆分成模块。你们遇到了相关的指令或者不知道怎么用的方法自己对着文档去查,再回过头来看我的实现代码。记住,通读Vue文档真的很重要,很重要!

这里的Vue以单文件的形式引入,另外代码在实现上会一步步的进行优化,客官不要着急!

下面是一个样式稍微丑陋,但功能OK的选项卡。

<!DOCTYPE html><html><head><meta charset="utf-8" /><meta http-equiv="X-UA-Compatible" content="IE=Edge,chrome=1"><meta name="viewport" content="maximum-scale=1.0,minimum-scale=1.0,user-scalable=no,width=device-width"><meta name="apple-mobile-web-app-title" content="Vue选项卡"><title>Vue实现选项卡</title><script type="text/javascript" src="../js/vue.js"></script></head><style>* {padding: 0;margin: 0;}.box {width: 800px;height: 200px;margin: 0 auto;border: 1px solid #000;}.tabs li {float: left;margin-right: 8px;list-style: none;}.tabs .tab-link {display: block;width: 250px;height: 49px;text-align: center;line-height: 49px;background-color: #5597B4;color: #fff;text-decoration: none;}.tabs .tab-link.active {height: 47px;border-bottom: 2px solid #E35885;transition: .3s;}.cards {float: left;}.cards .tab-card {display: none;}.clearfix:after {content: "";display: block;height: 0;clear: both;}.clearfix {zoom: 1;}</style><body><div id="app" class="box"><ul class="tabs clearfix"><li v-for="(tab,index) in tabsName"><a href="#" class="tab-link" @click="tabsSwitch(index)" v-bind:class="{active:tab.isActive}">{{tab.name}}</a></li></ul><div class="cards"><div class="tab-card" style="display: block;">这里是HTML教程</div><div class="tab-card">欢迎来到CSS模块</div><div class="tab-card">嗨,这里是Vue</div></div></div></body><script>var app = new Vue({el: "#app",data: {tabsName: [{name: "HTML",isActive: true}, {name: "CSS",isActive: false}, {name: "Vue",isActive: false}],active: false},methods: {tabsSwitch: function(tabIndex) {var tabCardCollection = document.querySelectorAll(".tab-card"),len = tabCardCollection.length;for(var i = 0; i < len; i++) {tabCardCollection[i].style.display = "none";this.tabsName[i].isActive = false;}this.tabsName[tabIndex].isActive = true;tabCardCollection[tabIndex].style.display = "block";}}})</script></html>
第一代选项卡的实现就先这样子,后面再改进。上面是代码,下面是效果图!Vue我也只是刚刚学入门吧,做了几个项目了,有什么问题我们可以一起探讨,一起进步,欢迎私信我!








原创粉丝点击