今回は、vue を使用してタブとタブ切り替え効果を実現する方法を説明します。vue を使用してタブとタブ切り替え効果を実現するときの注意点とは何ですか。実際のケースを見てみましょう。
ここでは、Vue ドキュメントの命令の使用法や基本的な知識については説明しません。入門から実際の戦闘までを行うため、日常のプロジェクトで達成する必要がある効果の一部を直接分割します。モジュール。関連する命令が表示された場合、またはその使用方法がわからない場合は、ドキュメントを自分で確認してから、実装コードを見直してください。 Vue ドキュメントをよく読むことが非常に重要であることを覚えておいてください。非常に重要です。 ここでの Vue は 1 つのファイルの形式で導入されます。また、コードは実装の際に段階的に最適化されますので、ご安心ください。 以下は、スタイルは少し醜いものの、機能は問題ないタブです。<!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> <p id="app" class="box"> <ul class="tabs clearfix"> <li v-for="(tab,index) in tabsName"> <a href="#" rel="external nofollow" class="tab-link" @click="tabsSwitch(index)" v-bind:class="{active:tab.isActive}">{{tab.name}}</a> </li> </ul> <p class="cards"> <p class="tab-card" style="display: block;">这里是HTML教程</p> <p class="tab-card">欢迎来到CSS模块</p> <p class="tab-card">嗨,这里是Vue</p> </p> </p> </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 はタブ切り替えを実装します。具体的なコードは次のとおりです。 <!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>选项卡</title>
<script src="../js/vue.js"></script>
<style>
li{
list-style: none;
float: left;
margin-right: 20px;
}
</style>
</head>
<body>
<p class="app">
<ul>
<li v-for="(item,index) in list" @click="tab(index)">{{item.tab}}
<p v-show="item.show">
{{item.title}}
</p>
</li>
</ul>
</p>
<script>
let obj=[
{"tab":"选项一","show":true,"title":"1111"},
{"tab":"选项二","show":false,"title":"2222"},
{"tab":"选项三","show":false,"title":"3333"}
];
var vm=new Vue({
el:".app",
data:{
list:obj
},
methods:{
tab:function(index){
for(var i=0;i<this.list.length;i++){
this.list[i].show=false;
if(i==index){
this.list[index].show=true;
}
}
}
}
})
</script>
</body>
</html>
推奨読書:
vue プロジェクトで vue-i18n と element-ui の国際開発を実装する方法 vue を使用して SMS 検証パフォーマンスを最適化する方法以上がvue を使用してタブとタブ切り替え効果を実装する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。