在Vue JS中处理Bootstrap模态隐藏事件 [英] Handle Bootstrap modal hide event in Vue JS

查看:538
本文介绍了在Vue JS中处理Bootstrap模态隐藏事件的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

Vue(2)中是否有一种不错的方式来处理Bootstrap(3)模态隐藏事件?

我发现这是一种JQuery方式,但是我不知道如何在Vue中捕获此事件:

$('#myModal').on('hidden.bs.modal', function () {
  // do something…
})

添加类似v-on:hide.bs.modal="alert('hide')的内容似乎无效.

解决方案

Bootstrap使用JQuery触发自定义事件hidden.bs.modal,因此它不容易被Vue捕获(我相信它会在后台使用本机事件).

由于必须在页面上具有JQuery才能使用Bootstrap的本机模式,因此只需使用JQuery即可捕获它.假设您将ref="vuemodal"添加到Bootstrap模式中,则可以执行以下操作.

new Vue({
  el:"#app",
  data:{
  },
  methods:{
    doSomethingOnHidden(){
      //do something
    }
  },
  mounted(){
    $(this.$refs.vuemodal).on("hidden.bs.modal", this.doSomethingOnHidden)
  }
})

工作示例.

Is there a decent way in Vue (2) to handle a Bootstrap (3) modal hide-event?

I found this as a JQuery way but I can't figure out how to capture this event in Vue:

$('#myModal').on('hidden.bs.modal', function () {
  // do something…
})

Adding something like v-on:hide.bs.modal="alert('hide') doesn't seem to work.

解决方案

Bootstrap uses JQuery to trigger the custom event hidden.bs.modal so it is not easily caught by Vue (which I believe uses native events under the hood).

Since you have to have JQuery on a the page to use Bootstrap's native modal, just use JQuery to catch it. Assuming you add a ref="vuemodal" to your Bootstrap modal you can do something like this.

new Vue({
  el:"#app",
  data:{
  },
  methods:{
    doSomethingOnHidden(){
      //do something
    }
  },
  mounted(){
    $(this.$refs.vuemodal).on("hidden.bs.modal", this.doSomethingOnHidden)
  }
})

Working example.

这篇关于在Vue JS中处理Bootstrap模态隐藏事件的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆