使用Vue怎么實(shí)現(xiàn)多系統(tǒng)切換-創(chuàng)新互聯(lián)

使用Vue怎么實(shí)現(xiàn)多系統(tǒng)切換?很多新手對此不是很清楚,為了幫助大家解決這個(gè)難題,下面小編將為大家詳細(xì)講解,有這方面需求的人可以來學(xué)習(xí)下,希望你能有所收獲。

成都創(chuàng)新互聯(lián)作為成都網(wǎng)站建設(shè)公司,專注重慶網(wǎng)站建設(shè)、網(wǎng)站設(shè)計(jì),有關(guān)成都定制網(wǎng)頁設(shè)計(jì)方案、改版、費(fèi)用等問題,行業(yè)涉及成都除甲醛等多個(gè)領(lǐng)域,已為上千家企業(yè)服務(wù),得到了客戶的尊重與認(rèn)可。

實(shí)現(xiàn)思路

1.結(jié)合iframe開發(fā)上方系統(tǒng)切換的組件

2.各個(gè)子系統(tǒng)有自己的域名

開發(fā)

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

代碼

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>

看完上述內(nèi)容是否對您有幫助呢?如果還想對相關(guān)知識有進(jìn)一步的了解或閱讀更多相關(guān)文章,請關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝您對創(chuàng)新互聯(lián)的支持。

名稱欄目:使用Vue怎么實(shí)現(xiàn)多系統(tǒng)切換-創(chuàng)新互聯(lián)
網(wǎng)站路徑:http://muchs.cn/article2/eeeic.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供App設(shè)計(jì)、移動網(wǎng)站建設(shè)、App開發(fā)、企業(yè)建站、虛擬主機(jī)動態(tài)網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

網(wǎng)站優(yōu)化排名