最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

淺談Vue.js 關(guān)于頁面加載完成后執(zhí)行一個方法的問題

 更新時間:2019年04月01日 11:13:48   作者:ITKouSyou  
這篇文章主要介紹了Vue.js 關(guān)于頁面加載完成后執(zhí)行一個方法的問題,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

首先我們會想著在mounted或者created里面加入想要執(zhí)行的方法,但是有的時候會遇到在你執(zhí)行這個方法的時候,頁面還并沒有被渲染完成,所以就會出現(xiàn)這個方法在匹配頁面標(biāo)簽報錯的情況。

解決思路:

1.通過子頁面調(diào)用父頁面的方法,因為在子頁面開始渲染的時候,你的父頁面肯定是已經(jīng)渲染好了的,前提這里的方法中是去找尋父頁面的標(biāo)簽。

2.直接在本頁面監(jiān)視一個參數(shù),發(fā)現(xiàn)參數(shù)被初始化了,說明頁面也已經(jīng)加載完成,因為你的頁面用到了這個參數(shù)。

方法1案例:tab頁里的子頁面如果沒有內(nèi)容就隱藏

父頁面代碼

<el-tabs v-model="initTab" type="card">
 <el-tab-pane label="1信息" name="tab1">
  1
 </el-tab-pane>
 <el-tab-pane label="2報告" name="tab2">
  2
 </el-tab-pane>
 <el-tab-pane label="3信息" name="tab3">
  3
 </el-tab-pane>
 <el-tab-pane label="4信息" name="tab4">
  <ziyemian-group @tabShow="tabShow" title="4信息" v-if="detailInfo">
  </ziyemian-group>
 
 </el-tab-pane>
 <el-tab-pane label="5信息" name="tab5">
  5
 </el-tab-pane>
 <el-tab-pane label="其它信息" name="tab6">
  6
 </el-tab-pane>
</el-tabs>
 
import ZiyemianGroup from './ZiyemianGroup.vue'
components: {
 ZiyemianGroup
},
data () {
  return {
    detailInfo: {},
    initTab:‘tab1'
  }
}
methods: {
 tabShow: (data) => {
  document.getElementsByClassName('el-tabs__item').item(4).style.display = data
 },
}

然后是ZiyemianGroup.vue的代碼,這里主要就是方法調(diào)用,頁面自己搞定

data () {
 return {
  list: []
 }
},
mounted () {
 this.init()
},
methods: {
 init() {
  if (list.length > 0) {
    this.$emit('whiteShow', 'inline')
  } else {
    this.$emit('whiteShow', 'none')
  }
 )
}

list是子頁面的內(nèi)容,這樣如果子頁面沒有內(nèi)容就可以隱藏掉了

方法2案例:我這邊需要tab頁隱藏

<el-tabs v-model="initTab" type="card">
 <el-tab-pane label="1信息" name="tab1">
  1
 </el-tab-pane>
 <el-tab-pane label="2報告" name="tab2">
  2
 </el-tab-pane>
 <el-tab-pane label="3信息" name="tab3">
  3
 </el-tab-pane>
 <el-tab-pane label="4信息" name="tab4">
  <ziyemian-group title="4信息" v-if="detailInfo">
  </ziyemian-group>
 
 </el-tab-pane>
 <el-tab-pane label="5信息" name="tab5">
  5
 </el-tab-pane>
 <el-tab-pane label="其它信息" name="tab6">
  6
 </el-tab-pane>
</el-tabs>
 
import ZiyemianGroup from './ZiyemianGroup.vue'
components: {
 ZiyemianGroup
},
data () {
  return {
    detailInfo: {},
    initTab:‘tab1'
  }
}
watch: {
 detailInfo: function () {
  this.$nextTick(function () {
   this.tabShow()
  })
 }
},
methods: {
  tabShow () {
    document.getElementsByClassName('el-tabs__item').item(6).style.display = 'none' // 隱藏tab6
  }
}

nextTick方法,意思是在下次 DOM 更新循環(huán)結(jié)束之后執(zhí)行延遲回調(diào)。在修改數(shù)據(jù)之后立即使用這個方法,獲取更新后的 DOM。

隱藏tab的方法我用了原生js,因為vue生成后的頁面和寫的vue頁面有所差別,所以我直接用了最笨的方法進行匹配。

以上所述是小編給大家介紹的Vue.js 關(guān)于頁面加載完成后執(zhí)行一個方法的問題詳解整合,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!

相關(guān)文章

最新評論

土默特右旗| 治多县| 博乐市| 维西| 和龙市| 昌宁县| 长宁区| 和政县| 洞头县| 五寨县| 鄱阳县| 奉化市| 大丰市| 逊克县| 常山县| 乌拉特后旗| 全椒县| 苏尼特右旗| 华安县| 神池县| 崇左市| 玉环县| 沂水县| 新绛县| 富民县| 定远县| 三都| 邹平县| 嘉义市| 延津县| 两当县| 锦州市| 城口县| 山阳县| 壶关县| 乡宁县| 仙桃市| 澄江县| 萨嘎县| 修文县| 淮南市|