30 lines
		
	
	
		
			710 B
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
			
		
		
	
	
			30 lines
		
	
	
		
			710 B
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
| import { createApp, ref } from 'vue'
 | |
| import GlobalPopup from './index.vue'
 | |
| 
 | |
| const popupInstance = ref()
 | |
| 
 | |
| const openLoginEmail = () => {
 | |
|   if (!popupInstance.value) {
 | |
|     const app = createApp(GlobalPopup, {
 | |
|       visible: true,
 | |
|       onClose: () => {
 | |
|         closeLoginEmail()
 | |
|       },
 | |
|     })
 | |
| 
 | |
|     const container = document.createElement('div')
 | |
|     document.body.appendChild(container)
 | |
|     popupInstance.value = app.mount(container)
 | |
|   }
 | |
|   //   popupInstance.value.$el.innerHTML = content
 | |
| }
 | |
| 
 | |
| const closeLoginEmail = () => {
 | |
|   if (popupInstance.value) {
 | |
|     popupInstance.value.$el.parentNode.removeChild(popupInstance.value.$el)
 | |
|     popupInstance.value = null
 | |
|   }
 | |
| }
 | |
| 
 | |
| export { openLoginEmail, closeLoginEmail }
 | 
