23 lines
739 B
JavaScript
23 lines
739 B
JavaScript
![]() |
export default {
|
||
|
mounted(el, binding) {
|
||
|
const duration = binding.arg ? parseInt(binding.arg) : 300;
|
||
|
el.style.transition = `opacity ${duration}ms ease`;
|
||
|
el.style.opacity = binding.value ? '1' : '0';
|
||
|
if (!binding.value) el.style.display = 'none';
|
||
|
},
|
||
|
updated(el, binding) {
|
||
|
const duration = binding.arg ? parseInt(binding.arg) : 300;
|
||
|
|
||
|
if (binding.value) {
|
||
|
el.style.display = '';
|
||
|
requestAnimationFrame(() => {
|
||
|
el.style.opacity = '1';
|
||
|
});
|
||
|
} else {
|
||
|
el.style.opacity = '0';
|
||
|
setTimeout(() => {
|
||
|
el.style.display = 'none';
|
||
|
}, duration);
|
||
|
}
|
||
|
}
|
||
|
};
|