【问题标题】:Issue on showing a modal using vue js使用 vue js 显示模式的问题
【发布时间】:2017-07-07 02:31:59
【问题描述】:

我对如何使用vue.jslaravel 5.3 显示引导模式有一些问题。我刚刚在blade.php 中添加了vue model,但模态似乎不起作用。请看下面的示例代码:

html:

<div id="project">
   <button class="btn btn-primary" @click="showModal = true"><i class="icon-plus"></i> Add new</button>
<!-- Modal -->
<div class="modal fade in"  tabindex="-1" role="dialog" aria-labelledby="myModalLabel">
  <div class="modal-dialog" role="document">
    <div class="modal-content">
      <div class="modal-header">
        <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button>
        <h4 class="modal-title" id="myModalLabel">Add Project</h4>
      </div>
      <div class="modal-body">
        <form>
            <div class="row">
                <div class="col-md-12">
                    <div class="form-group">
                        <input type="text" name="title"  class="form-control" required="required" placeholder="Project Title">
                    </div>
                </div>
            </div>
            <div class="row">
                <div class="col-md-6">
                    <div class="form-group">
                        <input type="date" name="date"  class="form-control" required="required" placeholder="Project Date">
                    </div>
                </div>
                <div class="col-md-6">
                    <div class="form-group">
                        <input type="text" name="category"  class="form-control" required="required" placeholder="Project Category">
                    </div>
                </div>
            </div>
            <div class="row">
                <div class="col-md-12">
                    <textarea name="desc" id="inputDesc" class="form-control" rows="3" placeholder="Project Description"></textarea>
                </div>
            </div>
            <div class="row">
                <div class="col-md-12">
                    <div class="form-group">
                      <div class="dropzone"  id="project-thumbnail">
                      </div>
            </div>
                </div>
            </div>
        </form>
      </div>
      <div class="modal-footer">
        <button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
        <button type="button" class="btn btn-primary">Save changes</button>
      </div>
    </div>
  </div>
</div>
</div>

脚本:

new Vue({
    el: '#project',
    data: {
            showModal: false
    }
})

【问题讨论】:

  • 您正在切换 showModal 但它在哪里用于实际打开模式?
  • @DavidK.Hess,是的,它应该使用 vue 在点击事件上打开一个模式。

标签: vue.js laravel-5.3


【解决方案1】:

只需将show 类和v-if="showModal" 添加到您的模态:

<div class="modal fade in show"  tabindex="-1" role="dialog" v-if="showModal" aria-labelledby="myModalLabel">

构建一些很酷的东西!

【讨论】:

    【解决方案2】:

    您的代码中没有任何内容可以触发它。如果您不使用引导程序的 data-modal,那么您需要使用 Javascript API 来打开此处记录的它:

    http://getbootstrap.com/javascript/#via-javascript

    即你需要在你的 Vue 上调用一个方法:

    $('#myModal').modal('show');
    

    【讨论】:

    • 是的,我可以使用其默认属性显示引导模式,但我们如何使用 vue 打开它?
    • 这不是我回答的全部要点吗?您必须从 Vue method 调用 Javascript。
    • @David K. Hess,也许你可以帮助我:stackoverflow.com/questions/45451971/…
    猜你喜欢
    • 2020-09-11
    • 1970-01-01
    • 2021-04-06
    • 1970-01-01
    • 2018-02-19
    • 2017-04-13
    • 1970-01-01
    • 2018-12-07
    • 1970-01-01
    相关资源
    最近更新 更多