国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > JavaScript > 正文

vue自定義指令directive的使用方法

2024-05-06 15:41:01
字體:
來源:轉載
供稿:網友

Vue中內置了很多的指令,如v-model、v-show、v-html等,但是有時候這些指令并不能滿足我們,或者說我們想為元素附加一些特別的功能,這時候,我們就需要用到vue中一個很強大的功能了—自定義指令。

在開始之前,我們需要明確一點,自定義指令解決的問題或者說使用場景是對普通 DOM 元素進行底層操作,所以我們不能盲目的胡亂的使用自定義指令。

如何聲明自定義指令?

就像vue中有全局組件和局部組件一樣,他也分全局自定義指令和局部指令。

let Opt = { bind:function(el,binding,vnode){ }, inserted:function(el,binding,vnode){ }, update:function(el,binding,vnode){ }, componentUpdated:function(el,binding,vnode){ }, unbind:function(el,binding,vnode){ },}

對于全局自定義指令的創建,我們需要使用 Vue.directive接口

Vue.directive('demo', Opt)

對于局部組件,我們需要在組件的鉤子函數directives中進行聲明

Directives: { Demo:  Opt}

Vue中的指令可以簡寫,上面Opt是一個對象,包含了5個鉤子函數,我們可以根據需要只寫其中幾個函數。如果你想在 bind 和 update 時觸發相同行為,而不關心其它的鉤子,那么你可以將Opt改為一個函數。

let Opt = function(el,binding,vnode){ }

如何使用自定義指令?

對于自定義指令的使用是非常簡單的,如果你對vue有一定了解的話。

我們可以像v-text=”'test'”一樣,把我們需要傳遞的值放在‘='號后面傳遞過去。

我們可以像v-on:click=”handClick” 一樣,為指令傳遞參數'click'。

我們可以像v-on:click.stop=”handClick” 一樣,為指令添加一個修飾符。

我們也可以像v-once一樣,什么都不傳遞。

每個指令,他的底層封裝肯定都不一樣,所以我們應該先了解他的功能和用法,再去使用它。

自定義指令的 鉤子函數

上面我們也介紹了,自定義指令一共有5個鉤子函數,他們分別是:bind、inserted、update、componentUpdate和unbind。

一個指令定義對象可以提供如下幾個鉤子函數 (均為可選):

bind:只調用一次,指令第一次綁定到元素時調用。在這里可以進行一次性的初始化設置。 inserted:被綁定元素插入父節點時調用 (僅保證父節點存在,但不一定已被插入文檔中)。 update:所在組件的 VNode 更新時調用,但是可能發生在其子 VNode 更新之前。指令的值可能發生了改變,也可能沒有。但是你可以通過比較更新前后的值來忽略不必要的模板更新 (詳細的鉤子函數參數見下)。 componentUpdated:指令所在組件的 VNode 及其子 VNode 全部更新后調用。 unbind:只調用一次,指令與元素解綁時調用。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 健康| 北宁市| 南投县| 呼玛县| 肥乡县| 鄂伦春自治旗| 南郑县| 连云港市| 临湘市| 华坪县| 宁明县| 佛山市| 景德镇市| 乾安县| 健康| 黄冈市| 托克托县| 唐河县| 玉龙| 阜南县| 左贡县| 苍山县| 普定县| 柏乡县| 绥化市| 汝城县| 犍为县| 阿克陶县| 毕节市| 依安县| 娄烦县| 绍兴市| 东乡| 黎平县| 东方市| 开原市| 阳朔县| 扬州市| 麻栗坡县| 文登市| 临城县|