自定义指令:监听元素尺寸变化
export default {
bind(el, binding) {
let resizeObserver = new ResizeObserver(entries => {
for (let entry of entries) {
let { width, height } = entry.contentRect
binding.value(width, height)
}
})
resizeObserver.observe(el)
el.__resizeObserver__ = resizeObserver
},
unbind(el) {
if (el.__resizeObserver__) {
el.__resizeObserver__.disconnect()
}
}
}
<div v-resize="initImage"></div>
自定义指令:按钮权限
export default {
bind(el, binding) {
const { auth_list } = store.state.userData;
if (!auth_list.includes(binding.value)) {
el.parentNode.removeChild(el)
}
}
}
<div v-permission="admin"></div>