中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

使用Vue怎么實現多系統切換

發布時間:2021-05-31 18:07:31 來源:億速云 閱讀:410 作者:Leah 欄目:web開發

使用Vue怎么實現多系統切換?很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學習下,希望你能有所收獲。

實現思路

1.結合iframe開發上方系統切換的組件

2.各個子系統有自己的域名

開發

因為每個頁面都需要這個切換功能,所以我們直接在app.vue里開發。我是用vue+element開發的,所以切換的地方直接用了ele的tab切換組件。(寫法有很多種,主要是思路)
讀完這些話再看代碼,方便理解:
1.如果用v-if控制每個iframe的顯示隱藏,那么切換后系統后,再切換回來,iframe的屬性會使頁面會刷新,用戶的操作不能保留
2.如果純粹用elementUi的tab組件來做,頁面一進來,就會把每個系統的資源加載進來,卡的要命,所以需要做到按需加載
3.實現:結合1、2問題,用v-if控制頁面一進來,只加載一個默認的系統;tab切換的時候再利用v-if去加載該系統的資源;v-if只控制一次,不會隨著tab的切換變化,這樣就能保證切換系統時保留了用戶的操作。

代碼

app.vue

<template>
 <div id="app">
<div class="allWapper">
 <!-- logo -->
 <div class="myLogo">
  <img src="/static/mylogo.png">
 </div>
 <!-- 頂部tabs -->
 <el-tabs v-model="activeName" @tab-click="handleClick">
 <el-tab-pane class="temp" label="VUE" name="first">
  <iframe v-if="ifArr.first" class="ifa" scrolling=auto src="http://panjiachen.github.io/vue-element-admin/#/dashboard" frameborder="0"></iframe>
 </el-tab-pane>
 <el-tab-pane class="temp" label="SF" name="second">
  <iframe v-if="ifArr.second" class="ifa" scrolling=auto src="https://segmentfault.com/" frameborder="0"></iframe>
 </el-tab-pane>
 <el-tab-pane class="temp" label="百度" name="third">
  <iframe v-if="ifArr.third" class="ifa" scrolling=auto src="https://www.baidu.com/" frameborder="0"></iframe>
 </el-tab-pane>
 </el-tabs>

</div>
<!-- </div> -->
 <!-- <router-view/> -->
 </div>
</template>

<script>
export default {
 name: 'App',
 data(){
 return{
  activeName: 'first',
  ifArr:{
   first:true,
   second:false,
   third:false
  }
 }
 },
 methods:{
  handleClick(tab, event) {
  let flagName=tab.name
  this.ifArr[flagName]=true
  }
 }
}
</script>

<style>
body{
 margin:0;
 padding:5px;
}
.ifa{
 width:100%;
height:100%;
 }
 .el-tabs__content{
 border: 1px solid red;
 border-top:none;
 position: absolute;
 top: 62px;
 left: 0;
 bottom: 0;
 right: 0;
 // width:100%;
 // height:80%;
 }
 .allWapper{
 display:flex;
 border-bottom:1px solid #e4e7ed;
 }
 .el-tabs__header{
 margin-bottom:0px;
 }
 .el-tabs__header .el-tabs__item{
 margin:8px 0;
 font-size:16px;
 padding-left:29px;

 }
 .temp{
  width:100%;
 height:100%;
 }
.myLogo{
  width: 200px;
 height: 53px;
 margin-right:35px;
}
.myLogo img{
 width:100%;
}
</style>

看完上述內容是否對您有幫助呢?如果還想對相關知識有進一步的了解或閱讀更多相關文章,請關注億速云行業資訊頻道,感謝您對億速云的支持。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

vue
AI

正定县| 新兴县| 临清市| 亳州市| 瓦房店市| 汕头市| 锡林浩特市| 萝北县| 谢通门县| 开鲁县| 南昌市| 衡阳市| 元谋县| 尼玛县| 固安县| 扎赉特旗| 石首市| 饶平县| 大邑县| 安康市| 思茅市| 惠州市| 蒙城县| 江西省| 广灵县| 商都县| 健康| 忻城县| 宜都市| 澎湖县| 瓮安县| 富宁县| 大同县| 砀山县| 太原市| 庆元县| 武强县| 嫩江县| 偃师市| 渭南市| 赫章县|