- Vue.js從入門到項(xiàng)目實(shí)踐(超值版)
- 聚慕課教育研發(fā)中心編著
- 463字
- 2022-07-29 14:27:35
3.2.1 指令的注冊

自定義指令在Vue中占據(jù)重要的位置。下面將介紹指令的注冊,包括如何對全局指令及局部指令進(jìn)行注冊。
1.局部注冊
局部注冊自定義指令:作用在局部,默認(rèn)只會在當(dāng)前頁面的Vue實(shí)例生效;其寫法跟全局注冊不同,它是用directives寫在Vue實(shí)例中,這時directive要加“s”變?yōu)閺?fù)數(shù)。指令名不用字符串格式,指令名和directives都是以對象的形式來寫,其中的鉤子函數(shù)寫法和全局一樣。當(dāng)指令寫好后,直接在html元素中使用v-指令名即可。
局部注冊自定義指令,代碼如下:
directives:{ content:{ inserted:el=>{ el.value='請輸入內(nèi)容'; } } }
在頁面中用v-指令名引用即可,代碼如下:
<input type="text" v-focus v-content/>
2.全局注冊
全局注冊自定義指令:作用在全局,寫法是在Vue實(shí)例前用Vue.directive()方法,directive不用加“s”。在這個方法中傳入兩個參數(shù),第一個參數(shù)是指令名,指令名要求是字符串;第二個參數(shù)是一個對象,在對象中屬性為鉤子函數(shù),這很像Ajax中的success回調(diào)函數(shù),在鉤子函數(shù)中傳入?yún)?shù)(如el、binding、VNode、oldVnode),根據(jù)參數(shù)進(jìn)行編寫。
全局注冊自定義指令,代碼如下:
提示:全局注冊用directive,末尾是沒有“s”的,局部注冊是有“s”的。
Vue.directive('focus',{ inserted:function(el){ el.focus()//添加焦點(diǎn)事件,也可以給DOM元素添加其他,例如在<input>標(biāo)簽中用到el.value='請輸入內(nèi)容' } })
推薦閱讀
- Dreamweaver CS5網(wǎng)頁設(shè)計(jì)與制作教程
- 柳工出海:中國制造的全球化探索
- 網(wǎng)頁設(shè)計(jì)實(shí)用教程
- 中文版Dreamweaver CS6/Flash CS6/Photoshop CS6網(wǎng)頁設(shè)計(jì)基礎(chǔ)培訓(xùn)
- 網(wǎng)頁設(shè)計(jì)那些事兒
- UI動效大爆炸:After Effects移動UI動效制作學(xué)習(xí)手冊
- HTML+CSS+JavaScript網(wǎng)頁設(shè)計(jì)與布局:從新手到高手
- 速學(xué)速通:快學(xué)Flash網(wǎng)頁動畫
- Premiere Pro CS6多功能教材
- 中文版Dreamweaver CC+Flash CC+Photoshop CC網(wǎng)頁設(shè)計(jì)基礎(chǔ)培訓(xùn)教程
- HTML+CSS+JavaScript網(wǎng)頁制作(第2版)
- Linux系統(tǒng)與網(wǎng)絡(luò)服務(wù)管理技術(shù)大全(第二版)
- 寬帶接入技術(shù)
- 在實(shí)戰(zhàn)中成長:JSP開發(fā)之路
- Web程序設(shè)計(jì)