Bootstrap-Vue-使子组件在b模式组件内工作

时间:2018-11-29 20:50:46

标签: javascript vue.js bootstrap-vue

因此由于某些原因,当我向<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,一些理由。任何帮助将不胜感激!

1 个答案:

答案 0 :(得分:1)

您需要将<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>