Vue 對全域性事件的解綁

2021-09-02 00:00:58 字數 502 閱讀 7105

activated () ,

deactivated ()

全域性事件會影響到其他的元件所以要解綁,

解綁全域性事件

在專案中,我們往往會遇到全域性事件的繫結,但是可能只是某乙個頁面,如果不進行解綁,將會出現各種各樣的bug,所以對全域性事件進行解綁,很有必要。 

例項分析

在專案中,我們在detail/components/header元件對全域性物件window進行了事件繫結,當切換到了其他其他頁面的時候,仍然未解除繫結之前,每乙個頁面都會執行該事件繫結的方法,消耗記憶體,所以必須解綁全域性事件。

bug該例項bug為:在跳轉到其他頁面的時候,對應的繫結事件仍繼續執行。

解決方法

解決上述bug的方法就是在deactivated鉤子函式中解除全域性事件的繫結。備註:deactivated鉤子是使用keep-alive時新增的鉤子函式,表示離開當前頁面的時候的乙個時期。

當頁面即將被隱藏,或者替換成其他頁面的時候,deactivated 函式會被執行

Vue學習筆記 專案開發4 4全域性事件解綁

在元件上定義方法,不解綁的情況下,元件上定義的方法由於僅侷限於當前元件並不會影響到全域性的使用,但是如果使用window,將事件繫結在window上的話則繫結元件會起作用,其他元件也會起作用,所以需要對全域性事件進行解綁,這樣可以將功能僅侷限於定義功能的這個元件上 1 定位到當前專案中,在詳情頁面中...

事件監聽和事件解綁

事件監聽 odiv.addeventlistener click function 布林值 預設為flase addeventlistener為新增事件監聽 click 這裡填的是要執行的事件 function 這裡填的是執行內容 布林值 預設為flase 這裡填ture或flase 停止事件傳播 ...

jQuery事件之解綁事件

selector unbind eventtype handler eventobject 返回值 jquery 引數解釋 handler eventobject 型別 function 如果把在bind時傳遞的處理函式作為第二個引數,則只有這個特定的時間處理函式會被刪除。作用 bind 的反向操作...