vue自定義指令directive實例詳解
下面給大家介紹vue自定義指令directive,具體內(nèi)容如下所示:
官網(wǎng)截圖實例
vue除了一些核心的內(nèi)部定義的指令(v-model,v-if,v-for,v-show)外,vue也允許用戶注冊自己的一些功能性的指令,有時候你實在是要對Dom操作,這個時候是自定義指令最合適的了。
來直接看例子:當(dāng)頁面加載時使得元素獲得焦點(autofocus 在移動版 Safari 是不支持的),就是當(dāng)頁面加載好了,不做任何的操作使得表單自動獲得焦點,光標(biāo)自動在某個表單上代碼如下:
Vue.directive('zsqfocus', { // 注冊一個全局自定義指令 `v-zsqfocus`,在main.js文件里
inserted: function (el) { // 當(dāng)被綁定的元素插入到 DOM 中時自動調(diào)用
el.focus() // 聚焦元素
}
})
如果想注冊局部指令,組件中也接受一個 directives 的選項:
<script>
export default {
directives: { // 指令的定義
zsqfocus: {
inserted: function (el) { // 獲得焦點
el.focus()
}
}
}
}
</script>
然后你可以在模板中任何組件上使用新的 v-zsqfocus 屬性,如下:
<template> <input v-zsqfocus /> //調(diào)用 </template>
舉了一個跟官網(wǎng)一樣的例子,directives跟methods,mounted等是一個級別的可以同時使用。
PS:下面看下vue之自定義指令directive的實例代碼,具體代碼如下所示:
<template>
<div>
<input v-model="dir1" v-my-directive1="dir1"/> <input v-model="dir2" v-my-directive2="dir2"/>
</div>
</template>
<script>
export default {
data(){
return { dir1:'', dir2:''
}
},
directives:{ //直接綁定函數(shù),作用等同于update,不做準(zhǔn)備工作和掃尾工作
myDirective1(val){
console.log(val)
}, myDirective2:{ bind(){ //第一次綁定到元素的準(zhǔn)備工作 }, update(val,old){ //在綁定到元素后立即以初始值第一次調(diào)用,然后每次example2變化都會調(diào)用update console.log(val) }, unbind(){ //銷毀前的清理工作 } }
}
}
</script>
總結(jié)
以上所述是小編給大家介紹的vue自定義指令directive實例詳解,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
相關(guān)文章
Vue3+TS項目中eslint、prettier安裝配置詳細(xì)指南
為了更好的統(tǒng)一項目的代碼風(fēng)格,因此在編寫時就可以使用eslint+prettier,它們不僅能方便代碼編寫,還能避免不必要的錯誤,讓代碼變得更加嚴(yán)謹(jǐn),這篇文章主要給大家介紹了關(guān)于Vue3+TS項目中eslint、prettier安裝配置的相關(guān)資料,需要的朋友可以參考下2024-07-07
vue3在構(gòu)建時使用魔法糖語法時defineProps和defineEmits的注意事項小結(jié)
在 Vue 3.2+ 版本中,可以使用 <script setup> 替代傳統(tǒng)的 script標(biāo)簽來編寫組件,它提供了更簡潔的語法來編寫 Composition API 代碼,這篇文章主要介紹了vue3在構(gòu)建時使用魔法糖語法時defineProps和defineEmits的注意事項小結(jié),需要的朋友可以參考下2024-04-04
Vue如何使用Element-ui表單發(fā)送數(shù)據(jù)與多張圖片到后端詳解
在做項目的時候遇到一個問題,前端需要上傳表單到后端,表單數(shù)據(jù)包括文本內(nèi)容和圖片,這篇文章主要給大家介紹了關(guān)于Vue如何使用Element-ui表單發(fā)送數(shù)據(jù)與多張圖片到后端的相關(guān)資料,需要的朋友可以參考下2022-04-04
vue2.0使用v-for循環(huán)制作多級嵌套菜單欄
這篇文章主要介紹了vue2.0制作多級嵌套菜單欄,主要使用v-for循環(huán)生成一個多級嵌套菜單欄,這個方法應(yīng)用非常廣泛,需要的朋友可以參考下2018-06-06
vue引入新版 vue-awesome-swiper插件填坑問題
這篇文章主要介紹了vue引入新版 vue-awesome-swiper插件填坑問題,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-01-01

