因此由于某种原因,当我向<b-modal>组件添加子组件时,它无法正确显示模式。看来:is =“ currentModal”无法正确读取。

  <b-modal size="lg" v-model="currentModal" @ok="currentModal = null">
    <component :is="currentModal" :email="email"></component>
  </b-modal>


基本上,currentModal是要显示的当前组件。如果我更改它以使currentModal是一个字符串,像这样,它仍然不能正常工作:

  <b-modal size="lg" v-model="currentModal" @ok="currentModal = null">
    <Register v-if="currentModal=='register'":email="email"></Register>
    <Login v-if="currentModal=='login'" :email="email"><Login>
  </b-modal>


如果我完全删除了b-modal标记,则Login和Register组件的工作应该像预期的那样,因此问题似乎是出于某种原因,Register和Login组件无法从b-modal内部正确读取currentModal。任何帮助,将不胜感激!

最佳答案

您需要将<b-container>用作<b-modal>的直接子元素。

在这种情况下,将如下所示:

<b-modal size="lg" v-model="currentModal" @ok="currentModal = null">
    <b-container>
        <component :is="currentModal" :email="email"></component>
    </b-container>
</b-modal>

10-07 21:12