iT邦幫忙

2023 iThome 鐵人賽

DAY 12
0
Vue.js

主題:Vue.js 從入門到精通:建構動態前端應用程式系列 第 27

Day 27: 異步加載與組件通信在Vue.js中的應用

  • 分享至 

  • xImage
  •  

前言:

性能優化和組件通信是構建大型 Vue.js 應用程序時的兩個關鍵方面。今天就來講述在性能優化和組件通信時常使用到的技巧:

性能優化:

性能優化其中一種常見的技巧就是懶加載(Lazy Loading)!

懶加載的目的是在需要時才加載相應的頁面元件,而不是一次性將所有頁面元件加載進來。這樣可以達到減少初始加載時間,從而提高用戶體驗。

那要如何做到懶加載呢?!

在 Vue.js 中,我們可以使用Vue Router 提供的 import 來實現懶加載路由組件。

有關於Router的部分,在明天會有更完整的說明!

組件通信:

另一方面,當不同子組件需要通信時,除了前幾天提到過的Vuex ,我們也可以利用**事件總線(Event Bus)**來實現!

事件總線,允許子組件在不直接相互引用的情況下傳遞數據和觸發事件,以下是常用到的方法:

$on:用於事件訂閱,可以在當前實例上監聽自定義事件。

$off:用於取消事件訂閱,移除自定義事件監聽器。

$emit:用於事件發送,可以觸發當前實例上的自定義事件。

$once:用於事件單次訂閱,監聽一個自定義事件,但只觸發一次,在第一次觸發之後會移除監聽器。

一個常見的做法是在頁面 created 的時候註冊事件監聽,並在組件銷毀前取消監聽,以確保事件的正確處理。

那如何選擇Vuex或Event Bus?!

如果是小型應用程式,或者組件通信的需求較少,可以選擇事件總線。但對於大型應用程式或更複雜的通信需求,Vuex 可能更適合,

結語:

今天討論了懶加載和事件總線這兩個技巧,雖然它們看似不相關,但都可以幫助我們構建更強大、性能更出色的 Vue.js 應用程序。有興趣的人,可以根據應用程式的具體需求,嘗試加入不同的技巧,觀察看看性能的差異!


上一篇
Day 26: Vue 元件間的資料傳遞方式:props, emit
下一篇
Day 28: Vue Router 簡介與基礎入門
系列文
主題:Vue.js 從入門到精通:建構動態前端應用程式30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言