@lassehaslev/vue-modal

Simple Modal logic with vue
12,909 1
Install
npm install @lassehaslev/vue-modal
Latest Version:3.1.1
Vue:2
Older releases:1
Last Updated:Feb 17, 2017
Links: GitHub  ·  npm
Maintainer: lassehaslev

@lassehaslev/vue-modal

Simple Modal logic with Vue2

Installation

Run npm install @lassehaslev/vue-modal --save in your project folder

Usage

Use this simple modal with Bulma.

import { Modal } from '@lassehaslev/vue-modal';
export default {
    template: `
        <a @click="open" class="button is-primary is-large" href="#">Open a simple modal</a>
        <modal ref="modal">
            <!-- Modal content Start -->
            <div class="box has-text-centered">
                <h1 class="title">
                    First modal
                </h1>
            </div>
            <!-- Modal content END -->
        </modal>
    `,
    methods: {
        open() {
            this.$refs.modal.open();
        }
    },
    components: {
        Modal,
    }
}

Extend / Build your own!

Just include the BaseModal class as a mixin, and you are good to call open and close and checking isShowingModal boolean.

import BaseModal from '@lassehaslev/vue-modal';

export default {
    template: `
    <div v-show="isShowingModal" class="modal is-active">
        <div class="modal-background" @click="close"></div>
        <div class="modal-content">
            <slot></slot>
        </div>
        <button class="modal-close" @click="close"></button>
    </div>
    `,

    mixins: [ BaseModal ],
}

Development

# install dependencies
npm install

# serve with hot reload at localhost:8080
npm run dev

# build for production with minification
npm run build

For detailed explanation on how things work, consult the docs for vue-loader.

Related Packages

@lassehaslev/vue-confirm

Simple confirm dialog using vue

12,659 1

Version History

Version Released Vue License
3.1.1 ^2.1.0
3.1.0 ^2.1.0
3.0.0 ^2.1.0
2.0.1 ^2.0.1
2.0.0 ^2.0.1