成人视屏在线观看-国产99精品-国产精品1区2区-欧美一级在线观看-国产一区二区日韩-色九九九

您的位置:首頁技術文章
文章詳情頁

vue使用動態組件實現TAB切換效果完整實例

瀏覽:236日期:2022-06-09 17:41:46
目錄
  • 一、方法1:使用Vant組件庫的tab組件
  • 二、 方法2:手動創建tab切換效果
  • 三、完整代碼
  • 總結

一、方法1:使用Vant組件庫的tab組件

二、 方法2:手動創建tab切換效果

1.在components文件夾下創建切換的.vue頁面、引入使用

import one from "./components/one";import two from "./components/two";import three from "./components/three";import four from "./components/four";components: {    one,    two,    three,    four,},

2.布局:上面放tab點擊的標簽,下面放組件呈現對應內容

// 然后使用v-for循環出來呈現<template>   <div id="app">      <div>      <!-- 放置tab點擊標簽 --> <div :class="{ highLight: whichIndex == index }" v-for="(item, index) in cardArr" :key="index" @click="whichIndex = index">    {{ item.componentName }}</div>      </div>      <div><!-- 放置動態組件... -->       <!-- keep-alive緩存組件,這樣的話,組件就不會被銷毀,DOM就不會被重新渲染,       瀏覽器也就不會回流和重繪,就可以優化性能。不使用的話頁面加載就會慢一點 -->       <keep-alive> <component :is="componentId"></component>       </keep-alive>      </div>   </div></template>

3.寫好上面的tab點擊標簽,定義數據修改樣式

// 首先我們在data中定義數組cardArr存放點擊tab的數據data() {   return {      whichIndex: 0,      cardArr: [{  componentName: "動態組件一",  componentId: "one",},{  componentName: "動態組件二",  componentId: "two",},{  componentName: "動態組件三",  componentId: "three",},{  componentName: "動態組件四",  componentId: "four",},      ],    };},
// 又因為需要有高亮狀態樣式:默認索引0高亮.highLight {  box-shadow: 0 15px 30px rgba(0, 0, 0, 0.2);  transform: translate3d(0, -1px, 0);}

三、完整代碼

<template>  <div id="app">    <div>      <div       :class="{ highLight: whichIndex == index }"v-for="(item, index) in cardArr":key="index"@click="  whichIndex = index;  componentId = item.componentId;"      >{{ item.componentName }}      </div>    </div>    <div>      <keep-alive><component :is="componentId"></component>      </keep-alive>    </div>  </div></template><script>import one from "./components/one";import two from "./components/two";import three from "./components/three";import four from "./components/four";export default {  components: {    one,    two,    three,    four,  },  data() {    return {      whichIndex: 0,      componentId: "one",      cardArr: [{  componentName: "動態組件一",  componentId: "one",},{  componentName: "動態組件二",  componentId: "two",},{  componentName: "動態組件三",  componentId: "three",},{  componentName: "動態組件四",  componentId: "four",},      ],    };  },};</script><style lang="less" scoped>#app {  width: 100%;  height: 100vh;  box-sizing: border-box;  padding: 50px;  .top {    width: 100%;    height: 80px;    display: flex;    justify-content: space-around;    .crad {      width: 20%;      height: 80px;      line-height: 80px;      text-align: center;      background-color: #fff;      border: 1px solid #e9e9e9;    }    .highLight {      box-shadow: 0 15px 30px rgba(0, 0, 0, 0.2);      transform: translate3d(0, -1px, 0);    }  }  .bottom {    margin-top: 20px;    width: 100%;    height: calc(100% - 100px);    border: 3px solid pink;    display: flex;    justify-content: center;    align-items: center;  }}</style>

總結

到此這篇關于vue使用動態組件實現TAB切換效果的文章就介紹到這了,更多相關vue動態組件實現TAB切換內容請搜索以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持!

標簽: JavaScript
相關文章:
主站蜘蛛池模板: 午夜性生活视频 | 欧美成人777 | 国产高清一国产免费软件 | 日本a级毛片视频播放 | 亚洲男人在线天堂 | 日韩在线资源 | 免费高清在线爱做视频 | 日韩在线视精品在亚洲 | 高清国产在线观看 | 日韩成人在线视频 | 男人的天堂在线免费视频 | 日韩在线高清视频 | 国产亚洲人成网站在线观看不卡 | 91久久99久91天天拍拍 | 一区二区三区视频在线 | 国产日韩高清一区二区三区 | 亚洲网在线观看 | 国产精品亚洲精品日韩已方 | 理论片日韩 | a级精品九九九大片免费看 a级毛片免费观看网站 | 男人干女人的视频 | 亚洲欧美成人 | 亚洲国产日韩a在线亚洲 | 欧美成人免费大片888 | 三级中文字幕 | 欧洲一级毛片免费 | 久在线观看视频 | 手机看片国产在线 | 99久久精品费精品国产一区二 | 免费的一级片网站 | 亚洲国产天堂久久综合网站 | 色哟哟国产成人精品 | 偷拍小视频99在线 | 久久精品23 | 日韩在线小视频 | 欧美一级毛片免费高清aa | 久久精品视频免费看 | 欧美午夜不卡在线观看最新 | 99在线视频网站 | 亚洲一区精品在线 | 成人污网站 |