我正在构建一个需要对多个 bootstrap-vue 模态进行排序的应用程序。具体来说,嵌套组件中的按钮应打开“管理”模式。“管理”模式包含按钮,单击时应关闭“管理”模式并打开另一个模式(例如“编辑”、“添加”、“完成”等)。
我不想向上和向下传递道具/发射事件以便可以从不同的嵌套组件触发这些事件,我希望在我的商店中有一个值this.$store.state.general.activeModal
,它决定显示哪个模式(如果有)
问题:如何在我的主应用程序页面中创建一组模式,以在状态值发生更改时呈现?
我的主应用程序将如下所示:
<template>
<app-stuff />
<b-modal id="modal1" />
<b-modal id="modal2" />
<b-modal id="modal3" />
</template>
例如,modal1 应该在this.$store.state.general.activeModal
设置为“modal1”时显示,并在值更改为其他值时关闭。
我尝试创建一个计算变量“showModal1”,它在何时为真store.etc.activeModal=='modal1'
,否则为假,然后v-modal="showModal1"
用于显示/隐藏模态,但每次商店中的值匹配时,它最终都会创建模态的两个副本(显然计算值触发当存储中的值更改时两次?)
任何帮助都会很棒!