整理原因:
在后台管理系统中,我们通常需要实现如果当前的用户没有设置头像,那么就显示默认头像,如果设置了头像,那么就使用用户设置的头像
因为这个功能在组件中的各个位置都有用到,所以可以使用自定义指令来实现
自定义指令的注册与使用
// 配置设置头像的自定义指令 相当于指令的第二个参数option 第一个参数是指令的名字
// 对dom进行底层操作,如果没有照片的时候就显示默认的照片
// import store from '@/store'
export const Avctar = {
// 第二个参数表示自定义指令接受的参数
// el 拿到的是当前的dom元素实例
// bing 表示绑定指令时接受的参数 bing.value
inserted: function (el, bing) {
// 监听dom元素也就是img标签的error事件,当没有照片
// 凡是需要加载网络资源的,如果当前资源加载不出来,就会触发onerror事件
// 满足条件,如果说当前没有照片的话,才进行执行
el.onerror = () => (el.src = bing.value)
},
}
使用方式
在main.js中
import { Avctar } from '@/directive'
Vue.directive('avatar', Avctar)