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ě)基本的代碼,如下:
export (Vue , options = {})=> init =: 'https://gw.alicdn.com/tps/i1/TB147JCLFXXXXc1XVXXxGsw1VXX-112-168.png' //例如:<img v-lazyload="imageSrc" > ele是img binding是imageSrc
'lazyload'
inserted 和 updated為Vue指令的執(zhí)行不同階段提供的鉤子函數(shù),查看Vue的官網(wǎng)可以看到一共有5個(gè)階段,
指令定義函數(shù)提供了幾個(gè)鉤子函數(shù)(可選):