Я хочу показать модальное поле, когда я нажимаю кнопку в VUE JS - PullRequest
0 голосов
/ 17 октября 2019

Я создал код, используя bootstrap и VUE js. Когда я нажимаю кнопку, всплывающее окно не отображается. Я использовал VUE JS компоненты. Я хочу, чтобы мой вывод выглядел как https://prnt.sc/pkhrff, но теперь я нажимаю кнопку, ничего не произошло. Мой код здесь для обзора!

HTML:

<div class="register-wrap"  id="register-wrap">
    <div class="container">
        <h2>Online registration for Vue Training</h2>
        <div class="line"></div>
        <div class="row">
            <div class="col-md-12 col-sm-12 col-12">
                <div class="registerbtn">
                    <h3>Register Now Today!</h3>
                    <modalregister v-if="showModal" @close= "showModal = false">
                        <p>Enter your text here</p>
                    </modalregister>
                    <input type="submit" @click = "showModal = true" class="form-control" value="Register Now">
                </div>
            </div>
        </div>
    </div>
</div>

VUE js:

Vue.component('modalregister',{
    template:`
        <!-- Modal -->
        <div class="modal fade">
            <div class="modal-dialog">
                <!-- Modal content-->
                <div class="modal-content">
                    <div class="modal-header">
                        <slot></slot>
                    </div>
                    <button class="close" type="button" data-dismiss="modal" @click="$emit('close')"></button>
                </div>
            </div>
        </div>
    `
});

new Vue({
    el:'#register-wrap',

    data: {
        showModal: false
    }
});

1 Ответ

0 голосов
/ 17 октября 2019
  1. Вы можете посмотреть исходный код страницы, чтобы увидеть, отображается ли компонент.

  2. Ваш модальный по умолчанию скрыт. Вы можете изменить следующее:

        <div class="modal fade">
    

    На

        <div class="modal fade show">
    
  3. Добавить компонент в экземпляр Vue

    const modalregister = Vue.component('modalregister',{...

    new Vue({ el:'#register-wrap', components: { modalregister }, ...

...