【问题标题】:I want to show Modal box when I click a button in VUE js当我单击 VUE js 中的按钮时,我想显示模态框
【发布时间】:2020-02-14 04:50:27
【问题描述】:

我使用 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
    }
});

【问题讨论】:

  • 您是否尝试过使用bootstrap-vue.js.org 而不是本机引导程序。让在 Vue 中使用引导组件变得更加容易
  • 还没试过,我现在试试。
  • 请分享一个可以重现问题的小提琴/沙盒

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


【解决方案1】:
  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 }, ...

【讨论】:

  • 我改成了 class="modal fade show",但还是不行。我是通过Vue实例prnt.sc/pkif17看到的,bootstrap show or hide有什么问题吗??
  • 您在点击立即注册按钮后查看渲染的html了吗?检查是否有模态元素。也许你需要在 Vue 实例 modalregister 中注册组件。
  • 没有。如何检查模态元素?
  • 带有浏览器内置 DOM Inspector。
  • 这用于按钮元素:prnt.sc/pkis02 这是用于模式元素:prnt.sc/pkish1 当我单击模式元素时 CSS 显示显示:无 如何纠正该问题
猜你喜欢
  • 2021-09-19
  • 2016-07-13
  • 2018-08-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-11-06
相关资源
最近更新 更多