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); | ||
|  |         } | ||
|  |     } | ||
|  | }; |