代码之家  ›  专栏  ›  技术社区  ›  Success Man

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

  •  1
  • Success Man  · 技术社区  · 7 年前

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

    我怎样才能解决这个问题?

    1 回复  |  直到 7 年前
        1
  •  2
  •   Brian Lee    7 年前

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

    <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 部分。