如何寫乙個Vue自定義指令

2021-10-12 07:14:46 字數 711 閱讀 1754

vue除了核心功能缺省內置的指令 ,vue 也允許註冊自定義指令。

自定義指令是用來操作dom的。儘管vue推崇資料驅動檢視的理念,但並非所有情況都適合資料驅動。自定義指令就是一種有效的補充和擴充套件,不僅可用於定義任何的dom操作,並且是可復用的。

寫乙個自定義指令的兩種方式:

全域性指令: 通過 vue.directive() 函式註冊乙個全域性的指令。

區域性指令:通過元件的 directives 屬性,對該元件新增乙個區域性的指令。

建立全域性指令:

需要傳入指令名稱以及乙個包含指令鉤子函式的物件,該物件的鍵即鉤子函式的函式名,值即函式體,鉤子函式可以有多個。

vue.directive("focus", 

})

建立區域性指令:

通過在vue例項中新增 directives 物件資料註冊區域性自定義指令。

directives: 

}}

下面我們就具體講一下怎麼在實戰中運用自定義指令:

自定義指令的鉤子函式

乙個指令定義物件可以提供如下幾個鉤子函式 (均為可選):

鉤子函式引數(即 el、binding、vnode 和 oldvnode)

應用場景

如何寫乙個Vue元件

寫的是以.vue結尾的單檔案元件的寫法,是基於webpack構建的專案。template 模板 js 邏輯 css 樣式 每個元件都有屬於自己的模板,js和樣式。如果將乙個頁面比喻成一間房子的話,元件就是房子裡的客廳 臥室 廚房 廁所。如果把廚房單獨拿出來的話,元件又可以是刀 油煙機.等等。就是說頁...

如何寫自定義的AlertView

如何寫自定義的alertview 效果 說明考慮到後面的可定製性以及可維護性,本人用abstractalertview定義了alertview抽象的基類,實現通過子類來完成.注 這只是粗略的寫了乙個實現,並沒有考慮到 的合理性以及精確性.原始碼 abstractalertview.h alertvi...

vue 自定義指令如何使用

指令的註冊方式和 過濾器 混入 元件 註冊的方式一樣都分為兩種 一是全域性註冊,二是區域性註冊。1.全域性註冊 vue.directive name 2.區域性註冊 directives 然後在模版中直接使用即可。你好,六哥在這 vue 提供了自定義指令的幾個鉤子函式 bind 指令第一次繫結到元素...