Vue.js Overlay is a practical, modern and convenient overlay (popup) Vue.js component.
It is a stylish popup component for Vue.js that you can easily use in your projects.
The most important features are flexible, modern, animated, stable, lightweight.
npm install vuejs-overlay --save <div id="app"> <overlay :opened="opened" :visible="visible" @closed="opened = visible = false"> <span>My popup</span> </overlay> <button @click="opened = visible = true">Open Popup</button> </div>// ES6 import Overlay from 'vuejs-overlay'; new Vue({ el: '#app', data() { return { opened: false, visible: false } }, components: { Overlay } });You can make the configurations with props.
| Configuration | Type | Default | Description |
|---|---|---|---|
| animate | String, Boolean | false | You can choose which animation the popup will open and close. |
| backdrop | Boolean | true | Specifies whether the popup has a backdrop. |
| close-on-escape | Boolean | true | This is to close the popup with the escape key. |
| close-on-cancel | Boolean | true | This is to close the popup with the cancel button. |
| close-by-backdrop-click | Boolean | true | This is to close the popup when the backdrop is clicked. |
| closeable | Boolean | true | Closing feature of the popup. You can use it in critical form operations. |
| opened | Boolean | false | Specifies the popup is opened. |
| header | String, Boolean | false | Used to determine the header text of the popup. |
| visible | Boolean | false | Specifies that internal elements are loaded of the popup. |
"bounce", "fade", "slide-down", "slide-left", "slide-right", "slide-up", "zoom-in", "zoom-out", false.
<overlay animate="zoom-in" :opened="opened" :visible="visible" @closed="opened = visible = false"> <div>👍</div> </overlay>Let's take an example of content data with ajax. In this example we used vuejs-ajax library.
<div id="app"> <overlay :opened="opened" :visible="visible" @closed="onClosed"> <span v-text="text"></span> </overlay> <button @click="openHandle">Open Popup</button> </div>import ajax from "vuejs-ajax"; import {Overlay} from 'vuejs-overlay.js'; Vue.use(ajax); new Vue({ el: '#app', data() { return { opened: false, visible: false, text: null, } }, methods: { openHandle() { this.overlayOpened = true; Vue.ajax.get("example.com/my-request-url").then(response => { this.text = response.data; this.visible = true; }); }, onClosed() { this.opened = false; this.visible = false; } }, components: { Overlay } });| Configuration | Type | Description |
|---|---|---|
| @closed | Callback | Triggers when the popup is closed. We recommend that you use this to ensure stable operation of this component when closing the popup. |
| @opened | Callback | Triggers when the popup is opened. |
<overlay :opened="opened" :visible="visible" @closed="opened = visible = false" @opened="someCallback"> <span>My popup</span> </overlay>Copyright (c) 2019 Fatih Koca

