在vuejs中无法捕获“ hidden.bs.modal”

时间:2018-07-20 04:00:43

标签: vue.js bootstrap-4 bootstrap-modal laravel-mix

我在Laravel项目中使用vue.js,但无法捕获hidden.bs.modal事件。

autoload中使用laravel-mix并在hidden.bs.modal中捕获vue.js时会出现此问题。 (在vue.js中就可以了)

混合文件

mix
.autoload({
    'jquery': ['$', 'window.jQuery', 'jQuery'],
    'moment': ['moment','window.moment'],
})
...

autoload一起使用软件包pc-bootstrap4-datetimepicker时,我必须使用laravel-mix解决问题。

Vue文件

<template>
    <div id="my_modal"
         class="modal"
         tabindex="-1"
         role="dialog"
         aria-hidden="true"
         ref="my_modal">
        ...
    </div>
</template>

<script>
    export default {
        mounted() {
            $(this.$refs.my_modal).on('hidden.bs.modal', this.doSomething);
        },

        methods: {
            doSomething() {
                // Do something
            },
        },
    }
</script>

因此,如果我从autoload中删除了webpack.mix.js,我可以赶上活动。但是软件包pc-bootstrap4-datetimepicker无法正常工作。怎么了?谢谢。

1 个答案:

答案 0 :(得分:-2)

您可以这样捕获它

<div ref="myModalRef"></div>

$(this.$refs.myModalRef).modal('hide')

$(this.$refs.myModalRef).modal('show')

但是它会给你console.log错误,因为它使用了JQuery。...我仍然没有找到它的答案,但是我知道的时候会告诉你