我想在VUE js中单击按钮时显示模态框

时间:2019-10-17 09:48:31

标签: javascript html vue.js vuejs2 vue-component

我已经使用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 :(得分:0)

  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 }, ...