淺談Vue.js 關(guān)于頁(yè)面加載完成后執(zhí)行一個(gè)方法的問(wèn)題
首先我們會(huì)想著在mounted或者created里面加入想要執(zhí)行的方法,但是有的時(shí)候會(huì)遇到在你執(zhí)行這個(gè)方法的時(shí)候,頁(yè)面還并沒(méi)有被渲染完成,所以就會(huì)出現(xiàn)這個(gè)方法在匹配頁(yè)面標(biāo)簽報(bào)錯(cuò)的情況。
解決思路:
1.通過(guò)子頁(yè)面調(diào)用父頁(yè)面的方法,因?yàn)樵谧禹?yè)面開(kāi)始渲染的時(shí)候,你的父頁(yè)面肯定是已經(jīng)渲染好了的,前提這里的方法中是去找尋父頁(yè)面的標(biāo)簽。
2.直接在本頁(yè)面監(jiān)視一個(gè)參數(shù),發(fā)現(xiàn)參數(shù)被初始化了,說(shuō)明頁(yè)面也已經(jīng)加載完成,因?yàn)槟愕捻?yè)面用到了這個(gè)參數(shù)。
方法1案例:tab頁(yè)里的子頁(yè)面如果沒(méi)有內(nèi)容就隱藏
父頁(yè)面代碼
<el-tabs v-model="initTab" type="card">
<el-tab-pane label="1信息" name="tab1">
1
</el-tab-pane>
<el-tab-pane label="2報(bào)告" 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)用,頁(yè)面自己搞定
data () {
return {
list: []
}
},
mounted () {
this.init()
},
methods: {
init() {
if (list.length > 0) {
this.$emit('whiteShow', 'inline')
} else {
this.$emit('whiteShow', 'none')
}
)
}
list是子頁(yè)面的內(nèi)容,這樣如果子頁(yè)面沒(méi)有內(nèi)容就可以隱藏掉了
方法2案例:我這邊需要tab頁(yè)隱藏
<el-tabs v-model="initTab" type="card">
<el-tab-pane label="1信息" name="tab1">
1
</el-tab-pane>
<el-tab-pane label="2報(bào)告" 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ù)之后立即使用這個(gè)方法,獲取更新后的 DOM。
隱藏tab的方法我用了原生js,因?yàn)関ue生成后的頁(yè)面和寫(xiě)的vue頁(yè)面有所差別,所以我直接用了最笨的方法進(jìn)行匹配。
以上所述是小編給大家介紹的Vue.js 關(guān)于頁(yè)面加載完成后執(zhí)行一個(gè)方法的問(wèn)題詳解整合,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
- vue實(shí)現(xiàn)加載頁(yè)面自動(dòng)觸發(fā)函數(shù)(及異步獲取數(shù)據(jù))
- 使用Vue實(shí)現(xiàn)調(diào)用接口加載頁(yè)面初始數(shù)據(jù)
- VUE頁(yè)面中加載外部HTML的示例代碼
- vue.js頁(yè)面加載執(zhí)行created,mounted的先后順序說(shuō)明
- 詳解vue頁(yè)面首次加載緩慢原因及解決方案
- 詳解Vue.js在頁(yè)面加載時(shí)執(zhí)行某個(gè)方法
- vue實(shí)現(xiàn)頁(yè)面加載動(dòng)畫(huà)效果
- Vue 路由切換時(shí)頁(yè)面內(nèi)容沒(méi)有重新加載的解決方法
- 解決vue項(xiàng)目中頁(yè)面調(diào)用數(shù)據(jù) 在數(shù)據(jù)加載完畢之前出現(xiàn)undefined問(wèn)題
- 使用vue實(shí)現(xiàn)加載頁(yè)
相關(guān)文章
解決vue項(xiàng)目router切換太慢問(wèn)題
這篇文章主要介紹了解決vue項(xiàng)目router切換太慢問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-07-07
安裝@vue/cli 報(bào)錯(cuò)npm WARN deprecated request
這篇文章主要介紹了安裝@vue/cli 報(bào)錯(cuò)npm WARN deprecated request@2.88.2問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-03-03
vue?路由跳轉(zhuǎn)打開(kāi)新窗口被瀏覽器攔截問(wèn)題處理
這篇文章主要介紹了vue?路由跳轉(zhuǎn)打開(kāi)新窗口被瀏覽器攔截問(wèn)題處理,下面文章操作中所遇到相關(guān)問(wèn)題解決的內(nèi)容介紹詳細(xì),需要的小伙伴可以參考一下2022-03-03
vue render函數(shù)動(dòng)態(tài)加載img的src路徑操作
這篇文章主要介紹了vue render函數(shù)動(dòng)態(tài)加載img的src路徑操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-10-10
利用Vue實(shí)現(xiàn)數(shù)字翻滾動(dòng)畫(huà)效果展示
這篇文章主要介紹了利用Vue實(shí)現(xiàn)數(shù)字翻滾動(dòng)畫(huà)效果,通過(guò)Vue的響應(yīng)式數(shù)據(jù)更新結(jié)合CSS3的動(dòng)畫(huà)效果,我們可以實(shí)現(xiàn)非??犰诺臄?shù)字翻滾效果,給數(shù)據(jù)可視化帶來(lái)更多動(dòng)感和吸引力,需要的朋友參考下吧2024-04-04
Vue中修改Mint UI的Toast默認(rèn)樣式之字體大小調(diào)整方式
這篇文章主要介紹了Vue中修改Mint UI的Toast默認(rèn)樣式之字體大小調(diào)整方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-05-05
Electron-vue開(kāi)發(fā)的客戶端支付收款工具的實(shí)現(xiàn)
這篇文章主要介紹了Electron-vue開(kāi)發(fā)的客戶端支付收款工具的實(shí)現(xiàn),小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2019-05-05
vue基于vant實(shí)現(xiàn)上拉加載下拉刷新的示例代碼
普遍存在于各種app中的上拉加載下拉刷新功能,本文主要介紹了vue基于vant實(shí)現(xiàn)上拉加載下拉刷新,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-01-01
antd-DatePicker組件獲取時(shí)間值,及相關(guān)設(shè)置方式
這篇文章主要介紹了antd-DatePicker組件獲取時(shí)間值,及相關(guān)設(shè)置方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-10-10

