VUE中如何使用bootstrap的模态框(modal)
模态框的是否显示通过VUE来控制,而不是利用bootstrap的js,只保留bootstrap的css效果
HTML
<transition name="fade"><!-- transition不需要的话可以删掉 --> <div v-if="sample_modal"> <div class="modal" v-on:click.self="sample_modal=false"> <div class="modal-dialog"> <div class="modal-content"> <div class="modal-header"> <h4 class="modal-title">title</h4> <button type="button" class="close" v-on:click="sample_modal=false">×</button> </div> <div class="modal-body"> <p>内容</p> </div> <div class="modal-footer"> <button type="button" class="btn btn-primary">footer</button> </div> </div> </div> </div> <div class="modal-backdrop show"></div> </div> </transition>
CSS
/* 让模态框显示 */ .modal { display: block; } /* 如果不使用vue的transition的话可以不设置 */ .fade-enter-active, .fade-leave-active { transition: opacity .15s; } .fade-enter, .fade-leave-to { opacity: 0; }
把sample_modal设置为false的话模态框不显示
设置为true则显示
在.modal类中,追加的“v-on:click.self”,是实现点击模态框以外的任意地方,关闭模态框