我的页面中有两个模态,当按下第一个模态上的ok按钮并打开另一个模态进行响应时,我需要一种方式来收听"ok"事件.

我想用这个听者,但什么都没有解释,我找不到这里是什么.

export default {
  mounted() {
    this.$root.$on('bv::modal::show', (bvEvent, modalId) => {
      console.log('Modal is about to be shown', bvEvent, modalId)
    })
  }
}

这是我代码的相关部分:

<div>
    <b-modal id="modal-center-add-post" style="width: 120px" centered  class="h-50 d-inline-block min-vw-100" ok-title="next" >
        <add-post></add-post>
    </b-modal>
</div>
<div>
    <b-modal id="modal-center-add-content" style="width: 120px" 
        centered  class="h-50 d-inline-block min-vw-100" 
        ok-only ok-title="Create" >
        <add-content></add-content>
    </b-modal>
</div>

并添加组件代码

<template>
    <form>
        <div class="form-group row">
            <label for="title" 
                   class="col-sm-2 col-form-label">
                   Title
            </label>
            <div class="col-sm-10">
                <input type="text" 
                       class="form-control" 
                       id="title" 
                       placeholder="Title">
            </div>
        </div>
        <div class="form-group row">
            <label for="chooseTopic" 
                   class="col-sm-2 col-form-label">
                   Topic
            </label>
            <div class="col-sm-10">
                <select id="chooseTopic" class="form-control">
                    <option selected>Leadership</option>
                    <option>HR</option>
                    <option>Sales</option>
                    <option>Marketing</option>
                </select>
            </div>
        </div>
        <fieldset class="form-group">
            <div class="row">
                <legend class="col-form-label col-sm-2 pt-0"> Type</legend>
                <div class="col-sm-10">
                    <div class="form-check-inline ">
                        <label class="form-check-label" 
                               for="video" 
                               :class="{'checked':(isChecked==='video')}" 
                               @click="isChecked='video'">
                               <input class="form-check-input" 
                                      type="radio" name="video" 
                                      id="video" 
                                      v-model="postingType" 
                                      value="video" checked>
                            <i class="fab fa-youtube "></i>
                            Video
                        </label>
                    </div>
                    <div class="form-check-inline">
                        <label class="form-check-label" 
                               for="ebook" 
                               :class="{'checked':(isChecked==='ebook')}" 
                               @click="isChecked='ebook'">
                               <input class="form-check-input" 
                                      type="radio" 
                                      name="ebook" 
                                      id="ebook" 
                                      v-model="postingType" 
                                      value="ebook">
                              <i class="far fa-file-pdf "></i>
                              Ebook
                        </label>
                    </div>
                    <div class="form-check-inline ">
                        <label class="form-check-label " 
                               for="article" 
                               :class="{'checked':(isChecked==='article')}" 
                               @click="isChecked='article'">
                            <input class="form-check-input " type="radio"  
                                   name="article" id="article"              
                                   v-model="postingType"  value="article" >
                            <i class="fas fa-pen-square "></i>
                            Article
                        </label>
                    </div>
                </div>
            </div>
        </fieldset>

    </form>
</template>

<script>
    export default {
        name: "AddPost",
        data(){
            return{
                postingType:'',
                isChecked:'video'
            }
        },
    }
</script>

因此,当我在AddPost组件中单击ok(下一步)时,我希望弹出第二个模式.

推荐答案

它就在文档底部Events以下

基本用途

@ok="yourOkFn"

Vue.js相关问答推荐

无法从CDN使用Vue和PrimeVue呈现DataTable

Vue.js 3 没有组件的实例?

Vuejs - 更新数组中对象的数组

Vuetify 扩展面板,面板标题左侧带有图标

使用 Vue.js 和 Jest 进行 URL 重定向测试

Vue动态mapGetters

在textbox文本框 VueJS 2 中键入时搜索列表

Vue.js 中 Chrome 和 Datalist 的性能问题

加载和渲染时对象值上的 Vue.js 未定义错误

v-model 不会检测到 jQuery 触发事件所做的更改

等待来自 WDS 的更新信号

Modal 内部的 Vue.js AJAX 调用

我可以在 Vue 实例方法中传播的 mapMutations 中使用this吗?

触发子函数

为 Vue 组件动态添加属性

根据路由动态插入 CSS 类到导航栏

Vuejs css 范围性能

VueJS 路由 - 使用子路由和 Vuetify 时如何停止多个活动路由(active routes)?

如何在 VueJS 中下载本地存储的文件

在子元素 vueJS.2 之间切换active类