vue的全域性指令

2022-07-04 01:12:11 字數 1229 閱讀 6493

vue有四個全域性指令:directive、extent、set、component

directive:自定義指令

//

寫乙個改變顏色的指令

vue.directive('amie',function

(el,binding,vnode));

//html

可以看出其實指令的實際是操作dom元素,第乙個引數就是element,第二個是引數是傳給指令的值,第三個。。。。

extent:作用和元件差不多,但是每次掛載都要new一次在$mount掛載(可以掛載到例項範圍以外的地方),不像元件那樣可以多次復用不需要new

var authorextend =vue.extend(}

", data

() }

});//

掛載new authorextend().$mount('.author');

//html

set:改變vue例項data的值

vue.set(dataobj,'count',4);

一般我們會用 vm.data1 = 123 這樣來修改,這樣沒問題

但是修改的資料是object型別的屬性值,vue是檢測不了變化的(這是受限於js的內部機制)

例如:vm.dataobj.count = 4來改變值,vue檢測不了dataobj.count的變化從而沒辦法在dom更新

這個時候用set就可以告訴vue改變了data中dataobj的count屬性

component:定義全域性元件,在任意vue例項內都可以使用

vue.component('zhangamie',}

`,data()

}})

mixin:全域性混入選項(混入的選項和原來的並存)

vue.mixin(

}})

以後所有新建的vue例項都會在它們的data裡面混進這個newdata,但是如果這個newdata在例項中再次被定義,會被例項中的data覆蓋

先後順序是:全域性的mixin-->區域性-->原生的mixin,順序後的會覆蓋順序前的(覆蓋只會覆蓋選項內部的值,不會覆蓋整個選項)

vue全域性指令 獲取焦點

知識點 bind函式 和樣式相關的操作,一般都可以在 bind 中執行,繫結到元素上的時候,立即執行 bind函式,且只執行一次 注意 在每個函式中,第乙個引數永遠是 el,表示被繫結了指令的那個元素,這個 el引數是乙個元素的原生的js物件 inserted函式 和js行為有關的操作,最好在 in...

vue自定義指令 區域性指令和全域性指令

以後都優先用inserted,因為inserted裡獲取到的資訊比bind中多一些 在鉤子函式內部可以通過第二個引數binding的value屬性,獲取到指令繫結的引數 指令的修飾符可以用來做一些特定的邏輯判斷處理 注意 在鉤子函式內部的this不是vm例項,可以通過第三個引數vnode.conte...

使用use註冊Vue全域性元件和全域性指令

vue中的元件和指令分為區域性元件 區域性指令和全域性元件 全域性指令。對於註冊有一定數量的全域性指令和全域性元件時,官方文件中的方法就顯得有些不夠清爽了。import eg from components eg.vue export default vue import components fr...