回覆列表
  • 1 # 蘑菇頭MTV

    在JavaScript中,自定義事件確實是很少用到,事件在本質上是一種訊息,是對設計模式中,觀察者模式的一種實現,接下來,我就用一個例項來說明下這個問題。

    建立兩個模組A與B,分別為ModuelA.js和ModuelB.js,在A模組中執行操作,B模組中監聽A模組中的操作。自定義事件主要有以下兩種使用場景;

    一、模組協作,用於解耦

    在以前,JS並沒有模組化開發的說法,不用多個開發人員協作;現在就不一樣了,在一些大型專案中,可能會存在很多JS程式碼,那麼,為了程式碼規範、可維護性。我們就有必要按功能進行模組化開發。這個時候,自定義事件就可以派上用場了,為了降低模組間的耦合行,模組之間儘量減少相互呼叫的情況;某一模組執行了什麼操作,可以用自定義事件的方式,通知另一模組。

    控制檯顯示結果:

    二、傳遞訊息

    模組執行某一操作後,通知另一模組的時候,可以傳遞一些訊息過去。

    控制檯顯示結果:

    在A模組中執行了陣列的合併操作,合併成功後,觸發concat事件,並把這個合併的訊息傳遞過去;在B模組中,沒有呼叫A模組中任何的變數及物件,但是B模組卻可以知道,A模組中的數組合並操作,並且還能夠獲取到A模組傳遞過來的訊息,這就是自定義事件的好處!

  • 中秋節和大豐收的關聯?
  • 什麼時候你會有滿滿的愧疚感?