新建一个放自定义指令的文件夹
代码:
export const directive_onerror = function (app:any) {
// 图片指令检测图片加载
app.directive('onerror', {
mounted: (el:any, binding:any) => {
let img = new URL('../assets/img/0.png', import.meta.url).href
el.onerror = () => {
el.src = img
}
if (!el.src) {
el.src = img
return
}
}
})
}
在 mian.ts 中引入
import { createApp } from 'vue'
import App from './App.vue'
import {directive_onerror} from './directive/index'
const vue = createApp(App)
vue.use(router)
vue.mount('#app')
vue.use(ElementPlus)
directive_onerror(vue)
说明:
1、引入后一定使用 directive_onerror(vue) 将Vue实例传进去
2、Vue3 区别与 Vue2 ,自定义指令方式有所改变,主要还是所使用的钩子函数不一样