Vue.directive指令(自定義指令)

定義方式

  • html頁面定義
Vue.directive("hello",function(el,binding,vnode){
       el.style["color"]= binding.value;
    })
  • 全局定義
Vue.directive('hello', {
    inserted(el) {
        console.log(el);
    }
})
  • 局部定義
var app = new Vue({
    el: '#app',
    data: {    
    },
    // 創(chuàng)建指令(可以多個(gè))
    directives: {
        // 指令名稱
        hello: {
            inserted(el) {
                // 指令中第一個(gè)參數(shù)是當(dāng)前使用指令的DOM
                console.log(el);
                console.log(arguments);
                // 對(duì)DOM進(jìn)行操作
                el.style.width = '200px';
                el.style.height = '200px';
                el.style.background = '#000';
            }
        }
    }
})

參數(shù)(每個(gè)指令都含有這三個(gè)參數(shù))

  • el : 指令所綁定的元素,可以用來直接操作DOM
  • binding: 一個(gè)對(duì)象,包含指令的很多信息
  • vnode: VUE編譯生成的虛擬節(jié)點(diǎn)

生命周期

  • bind 只調(diào)用一次,指令第一次綁定到元素時(shí)候調(diào)用,用這個(gè)鉤子可以定義一個(gè)綁定時(shí)執(zhí)行一次的初始化動(dòng)作。
  • inserted:被綁定的元素插入父節(jié)點(diǎn)的時(shí)候調(diào)用(父節(jié)點(diǎn)存在即可調(diào)用,不必存在document中)
  • update: 被綁定與元素所在模板更新時(shí)調(diào)用,而且無論綁定值是否有變化,通過比較更新前后的綁定值,忽略不必要的模板更新
  • componentUpdate :被綁定的元素所在模板完成一次更新更新周期的時(shí)候調(diào)用
  • unbind: 只調(diào)用一次,指令元素解綁的時(shí)候調(diào)用
Vue.directive("hello",{
        bind:function(el,bingind,vnode){
            el.style["color"] = bingind.value;
            console.log("1-bind");
            console.log(el.parentNode);
        },
        inserted:function(){
            console.log("2-insert");
            console.log(el.parentNode);
        },
        update:function(){
            console.log("3-update");
        },
        componentUpdated:function(){
            console.log('4 - componentUpdated');
        },
        unbind:function(){
            console.log('5 - unbind');
        }
    })
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

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

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