Vue是可以自定義指令的,最近學(xué)習(xí)過(guò)程中遇見(jiàn)了一個(gè)需要圖片懶加載的功能,最后參考了別人的代碼和思路自己重新寫(xiě)了一遍。以下將詳細(xì)介紹如何實(shí)現(xiàn)自定義指令v-lazyload。

  先看如何使用這個(gè)指令:

  

<img v-lazyload="imageSrc" >

  imageSrc是要加載的圖片的實(shí)際路徑。

  為了實(shí)現(xiàn)這個(gè)指令,我們首先單獨(dú)建立一個(gè)文件,名字為lazyload.js.并填寫(xiě)基本的代碼,如下:

  

平面設(shè)計(jì)培訓(xùn),網(wǎng)頁(yè)設(shè)計(jì)培訓(xùn),美工培訓(xùn),游戲開(kāi)發(fā),動(dòng)畫(huà)培訓(xùn)

export  (Vue , options = {})=> init =: 'https://gw.alicdn.com/tps/i1/TB147JCLFXXXXc1XVXXxGsw1VXX-112-168.png'  //例如:<img v-lazyload="imageSrc" > ele是img binding是imageSrc
'lazyload'

平面設(shè)計(jì)培訓(xùn),網(wǎng)頁(yè)設(shè)計(jì)培訓(xùn),美工培訓(xùn),游戲開(kāi)發(fā),動(dòng)畫(huà)培訓(xùn)

inserted 和 updated為Vue指令的執(zhí)行不同階段提供的鉤子函數(shù),查看Vue的官網(wǎng)可以看到一共有5個(gè)階段,

 

指令定義函數(shù)提供了幾個(gè)鉤子函數(shù)(可選):