Javascript 在vue上关闭模式时,如何运行语句?

Javascript 在vue上关闭模式时,如何运行语句?,javascript,vue.js,vuejs2,bootstrap-modal,vue-component,Javascript,Vue.js,Vuejs2,Bootstrap Modal,Vue Component,我的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" var

我的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>

...
印刷品
...
结账
...
...
导出默认值{
...
安装的(){
$(this.$refs.modal).on('hidden.bs.modal',()=>{
console.log('关闭模式')
})
},
}
我试着那样做。因此,我尝试使用
ref=“modal”
并安装。但它不起作用。如果模式关闭,则不显示console.log


如何解决此问题?

在模式组件上添加事件侦听器:

<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')
  }
}

印刷品
方法:{
onHidden(e){
console.log('模式被隐藏')
}
}

所有事件都列在该部分下。

而不是
@click=“show=false”
添加一个函数,该函数可以更改
show
属性并执行您所需的操作。您能否向我们提供更多信息?1.B-modal是您的组件还是来自某个框架或库?2.是否确实已正确发出事件,以便仅在捕获事件时出错?3.您确定是b模式组件发出事件(不是按钮或发票)吗?也许您可以再次帮助我。看看这个: