6.自定義指令directives

1.定義全局指令
在main.js中聲明全局指令

//自定義全局組件(directive沒有s)
Vue.directive('focus',{
    inserted:function(el) {
      el.focus();
    }
});

在元素中使用自定義指令

<input type="text" v-focus>

2.局部指令
直接在當(dāng)前組件中添加directives

<script>
    export default {
        name: "hello",
        directives:{
            focus:{
                inserted:function(el){
                   el.focus();
                }
            }
        }
</script>

bind:當(dāng)指令綁定到元素上時(shí),會(huì)執(zhí)行該函數(shù),只調(diào)用一次。(主要做樣式的處理)
inserted:表示元素插入到DOM時(shí),會(huì)執(zhí)行該函數(shù)。(主要做頁(yè)面加載后的一些觸發(fā)事件,例:自動(dòng)獲取焦點(diǎn),若寫在bind中,不生效。因?yàn)樽詣?dòng)獲取焦點(diǎn)必須時(shí)頁(yè)面 dom加載完成才能獲取焦點(diǎn)。)
updated:所在組件的 VNode 更新時(shí)調(diào)用,但是可能發(fā)生在其子 VNode 更新之前。
componentUpdated:指令所在組件的 VNode 及其子 VNode 全部更新后調(diào)用。
unbind:只調(diào)用一次,指令與元素解綁時(shí)調(diào)用。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 在學(xué)習(xí)了Angular的指令后,發(fā)現(xiàn)這是一個(gè)非常強(qiáng)大的功能,有點(diǎn)類似WPF的附加屬性(Attached Prope...
    是不是不是是閱讀 1,264評(píng)論 0 1
  • 接上篇文章 《Angular 5 自定義指令(一)》 這篇文章我將介紹一下使用自定義指令來(lái)監(jiān)聽元素的事件。 首先,...
    是不是不是是閱讀 3,015評(píng)論 0 1
  • 在第五章中我們已經(jīng)介紹了需要Vue內(nèi)置的指令,比如v-if、v-show等,這些豐富的內(nèi)置指令能滿足我們的...
    六個(gè)周閱讀 1,818評(píng)論 2 9
  • 第一章 Vue概述 what? Vue是實(shí)現(xiàn)UI層的漸進(jìn)式j(luò)s框架,核心庫(kù)關(guān)注視圖層,簡(jiǎn)單的ui構(gòu)建,復(fù)雜的路由控...
    fastwe閱讀 833評(píng)論 0 0
  • vue概述 在官方文檔中,有一句話對(duì)Vue的定位說(shuō)的很明確:Vue.js 的核心是一個(gè)允許采用簡(jiǎn)潔的模板語(yǔ)法來(lái)聲明...
    li4065閱讀 7,618評(píng)論 0 25

友情鏈接更多精彩內(nèi)容