解決vue項目F5刷新mounted里的函數(shù)不執(zhí)行問題
項目背景
在主文件index.vue中初始化頁面相關(guān)的操作,
在mounted中放置用戶權(quán)限判斷并更新store中的權(quán)限值,當(dāng)點(diǎn)擊相應(yīng)組件時mounted可正常工作,
但是在用戶手動刷新時mounted內(nèi)的函數(shù)并未執(zhí)行,導(dǎo)致相應(yīng)組件未獲取到權(quán)限而顯示異常
問題解決
首先,這跟vue生命周期有關(guān),圖就不貼了,直接說原因。
當(dāng)用戶f5刷新頁面時,整個頁面會重新去請求,js的狀態(tài)變量消失,但是el節(jié)點(diǎn)并未重新建立。
因為,mounted是el被新創(chuàng)建的vm.$el替換,并掛載到實例上去之后調(diào)用的鉤子,此處el并未重新掛載,故該鉤子函數(shù)不會被調(diào)用。
此處可以將用戶權(quán)限判斷的方法根據(jù)實際情況寫在beforeMount或created中
常見的鉤子觸發(fā)事件
beforeCreate
在實例初始化之后,數(shù)據(jù)觀測(data observer) 和 event/watcher 事件配置之前被調(diào)用。數(shù)據(jù)和實例都不能訪問
created
實例已經(jīng)創(chuàng)建完成之后被調(diào)用。在這一步,實例已完成以下的配置:數(shù)據(jù)觀測(data observer),屬性和方法的運(yùn)算, watch/event 事件回調(diào)。然而,掛載階段還沒開始,$el 屬性目前不可見。
數(shù)據(jù)可以訪問,實例不可訪問
beforeMount
在掛載開始之前被調(diào)用:相關(guān)的 render 函數(shù)首次被調(diào)用。
DOM掛載前,數(shù)據(jù)可訪問,實例$el為虛擬DOM節(jié)點(diǎn),不可訪問,數(shù)據(jù)還未插入DOM中
mounted
el 被新創(chuàng)建的 vm.el替換,并掛載到實例上去之后調(diào)用該鉤子。此時 el 替換,并掛載到實例上去之后調(diào)用該鉤子。此時el替換,并掛載到實例上去之后調(diào)用該鉤子。此時el為真實的DOM元素
beforeUpdate
數(shù)據(jù)更新時調(diào)用,發(fā)生在虛擬 DOM 重新渲染和打補(bǔ)丁之前。 你可以在這個鉤子中進(jìn)一步地更改狀態(tài),這不會觸發(fā)附加的重渲染過程。
updated
數(shù)據(jù)更新之后。
由于數(shù)據(jù)更改導(dǎo)致的虛擬 DOM 重新渲染和打補(bǔ)丁,在這之后會調(diào)用該鉤子。
當(dāng)這個鉤子被調(diào)用時,組件 DOM 已經(jīng)更新,所以你現(xiàn)在可以執(zhí)行依賴于 DOM 的操作。然而在大多數(shù)情況下,你應(yīng)該避免在此期間更改狀態(tài),因為這可能會導(dǎo)致更新無限循環(huán)。
該鉤子在服務(wù)器端渲染期間不被調(diào)用。
beforeDestroy
實例銷毀之前調(diào)用。此時實例還可以使用
destroyed
Vue 實例銷毀后調(diào)用。此時Vue實例指示的所有東西都會解綁定,所有的事件監(jiān)聽器會被移除,所有的子實例也會被銷毀。 該鉤子在服務(wù)器端渲染期間不被調(diào)用。
以上這篇解決vue項目F5刷新mounted里的函數(shù)不執(zhí)行問題就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
vue2.0+vue-router構(gòu)建一個簡單的列表頁的示例代碼
這篇文章主要介紹了vue2.0+vue-router構(gòu)建一個簡單的列表頁的示例代碼,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2019-02-02
vue2.0 移動端實現(xiàn)下拉刷新和上拉加載更多的示例
本篇文章主要介紹vue2.0 移動端實現(xiàn)下拉刷新和上拉加載更多的示例,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-04-04
vue實現(xiàn)pdf導(dǎo)出解決生成canvas模糊等問題(推薦)
最近公司項目需要,利用vue實現(xiàn)pdf導(dǎo)出,從而保存到本地打印出來,說起來好像也很容易,具體要怎么實現(xiàn)呢?下面小編給大家?guī)砹藇ue實現(xiàn)pdf導(dǎo)出解決生成canvas模糊等問題,需要的朋友參考下吧2018-10-10
關(guān)于Vue3路由push跳轉(zhuǎn)問題(解決Vue2this.$router.push失效)
這篇文章主要介紹了Vue3路由push跳轉(zhuǎn)問題(解決Vue2this.$router.push失效),本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2022-07-07
Nginx配置Vue項目,無法按路徑跳轉(zhuǎn)及刷新404的解決方案
這篇文章主要介紹了Nginx配置Vue項目,無法按路徑跳轉(zhuǎn)及刷新404的解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-06-06
Vue.js中this如何取到data和method里的屬性詳解
methods屬性是一個對象,通常我們會在這個對象中定義很多的方法,下面這篇文章主要給大家介紹了關(guān)于Vue.js中this如何取到data和method里的屬性,需要的朋友可以參考下2022-12-12

