我的Vue组件如下:
<template> ... <b-modal ref="modal" id="modalInvoice" size="lg" title="Invoice"> <Invoice/> <div slot="modal-footer" class="w-100"> <b-btn size="sm" class="float-right" variant="warning" @click="show=false"> <i class="fa fa-print"></i> Print </b-btn> </div> </b-modal> ... <b-btn variant="warning" class="btn-square mt-2" v-b-modal.modalInvoice @click="checkout()"><i class="fa fa-credit-card-alt"></i>Checkout</b-btn> ... </template> <script> ... export default { ... mounted() { $(this.$refs.modal).on('hidden.bs.modal', () => { console.log('close modal') }) }, } </script>
我试着这么做。所以我试着用 ref="modal" 并安装。但它不起作用。如果模式关闭,则不显示console.log
ref="modal"
我怎样才能解决这个问题?
在模式组件上添加事件侦听器:
<b-modal ref="modal" id="modalInvoice" size="lg" title="Invoice" @hidden="onHidden"> <Invoice/> <div slot="modal-footer" class="w-100"> <b-btn size="sm" class="float-right" variant="warning" @click="show=false"> <i class="fa fa-print"></i> Print </b-btn> </div> </b-modal> methods: { onHidden (e) { console.log('the modal was hidden') } }
所有事件都列在 Component Reference 部分。