久久综合九色综合97婷婷-美女视频黄频a免费-精品日本一区二区三区在线观看-日韩中文无码有码免费视频-亚洲中文字幕无码专区-扒开双腿疯狂进出爽爽爽动态照片-国产乱理伦片在线观看夜-高清极品美女毛茸茸-欧美寡妇性猛交XXX-国产亚洲精品99在线播放-日韩美女毛片又爽又大毛片,99久久久无码国产精品9,国产成a人片在线观看视频下载,欧美疯狂xxxx吞精视频

有趣生活

當前位置:首頁>知識>vue中axios手動終止請求(vue中created與mounted的區別Ajaxaxios后端請求怎么寫)

vue中axios手動終止請求(vue中created與mounted的區別Ajaxaxios后端請求怎么寫)

發布時間:2024-01-24閱讀(19)

導讀createdcreated:在模板渲染成HTML前調用,即通常初始化某些屬性值,然后再渲染成視圖。mounted:在模板渲染成html后調用,通常是初始化....created

vue中axios手動終止請求(vue中created與mounted的區別Ajaxaxios后端請求怎么寫)(1)

vue中axios手動終止請求(vue中created與mounted的區別Ajaxaxios后端請求怎么寫)(2)

created:在模板渲染成HTML前調用,即通常初始化某些屬性值,然后再渲染成視圖。

mounted:在模板渲染成html后調用,通常是初始化頁面完成后,再對html的dom節點進行一些需要的操作。

性能:

還沒有創建DOM,這個時候你請求后端,vue實例還在繼續工作,并且請求成功后,也沒什么用,得等mounted執行,mounted - dom 加載完,才能渲染數據到 dom層,所以 請求和Vue中的Dome渲染是同時工作的,加大了CPU等工作量。反而會讓結果變慢。

什么是生命周期

Vue實例有一個完整的生命周期,也就是從開始創建、初始化數據、編譯模板、掛載Dom、渲染→更新→渲染、卸載等一系列過程,我們稱這是Vue的生命周期。通俗說就是Vue實例從創建到銷毀的過程,就是生命周期。

瀏覽器渲染過程
  • 構建DOM樹
  • 構建css規則樹,根據執行順序解析js文件。
  • 構建渲染樹Render Tree
  • 渲染樹布局layout
  • 渲染樹繪制
再看看每個鉤子函數都在啥時間觸發

beforeCreate

在實例初始化之后,數據觀測(data observer) 和 event/watcher 事件配置之前被調用。

created

實例已經創建完成之后被調用。在這一步,實例已完成以下的配置:數據觀測(data observer),屬性和方法的運算, watch/event 事件回調。然而,掛載階段還沒開始,$el 屬性目前不可見。

beforeMount

在掛載開始之前被調用:相關的信息 render 函數首次被調用。

mounted

el 被新創建的 vm.$el 替換,并掛載到實例上去之后調用該鉤子。

beforeUpdate

數據更新時調用,發生在虛擬 DOM 重新渲染和打補丁之前。 你可以在這個鉤子中進一步地更改狀態,這不會觸發附加的重渲染過程。

updated

由于數據更改導致的虛擬 DOM 重新渲染和打補丁,在這之后會調用該鉤子。

當這個鉤子被調用時,組件 DOM 已經更新,所以你現在可以執行依賴于 DOM 的操作。然而在大多數情況下,你應該避免在此期間更改狀態,因為這可能會導致更新無限循環。

該鉤子在服務器端渲染期間不被調用。

beforeDestroy

實例銷毀之前調用。在這一步,實例仍然完全可用。

destroyed

Vue 實例銷毀后調用。調用后,Vue 實例指示的所有東西都會解綁定,所有的事件監聽器會被移除,所有的子實例也會被銷毀。 該鉤子在服務器端渲染期間不被調用。

相對瀏覽器來說

在beforecreate階段,對瀏覽器來說,整個渲染流程尚未開始或者說準備開始,對vue來說,實例尚未被初始化,data observer和 event/watcher也還未被調用,在此階段,對data、methods或文檔節點的調用現在無法得到正確的數據。

在created階段,對瀏覽器來說,渲染整個HTML文檔時,dom節點、css規則樹與js文件被解析后,但是沒有進入被瀏覽器render過程,上述資源是尚未掛載在頁面上,也就是在vue生命周期中對應的created階段,實例已經被初始化,但是還沒有掛載至$el上,所以我們無法獲取到對應的節點,但是此時我們是可以獲取到vue中data與methods中的數據的

在beforeMount階段,實際上與created階段類似,節點尚未掛載,但是依舊可以獲取到data與methods中的數據。

在mounted階段,對瀏覽器來說,已經完成了dom與css規則樹的render,并完成對render tree進行了布局,而瀏覽器收到這一指令,調用渲染器的paint()在屏幕上顯示,而對于vue來說,在mounted階段,vue的template成功掛載在$el中,此時一個完整的頁面已經能夠顯示在瀏覽器中,所以在這個階段,即可以調用節點了(關于這一點,在筆者測試中,在mounted方法中打斷點然后run,依舊能夠在瀏覽器中看到整體的頁面)。

vue中axios手動終止請求(vue中created與mounted的區別Ajaxaxios后端請求怎么寫)(3)

總結:

beforeCreate 創建之前:已經完成了 初始化事件和生命周期

created 創建完成:已經完成了 初始化注冊和響應

beforeMount 掛載之前:已經完成了模板渲染

mounted :掛載之后:已完成HTML虛擬化,創建了el節點 可以操作DOM了

beforeDestroy :摧毀之前:整個vue都處在實時監控空渲染和更新

destroyed: 已摧毀,已經摧毀了觀察者,子元素和事件監聽

TAGS標簽:  axios  手動  終止  請求  created  vue中axios手

歡迎分享轉載→http://www.avcorse.com/read-211039.html

Copyright ? 2024 有趣生活 All Rights Reserve吉ICP備19000289號-5 TXT地圖HTML地圖XML地圖