【问题标题】:I want to bring my b-card element to the front of an component我想将我的 b-card 元素放在组件的前面
【发布时间】:2019-10-27 12:54:39
【问题描述】:

我有一个随 bootstrapvue 框架提供的 b-card 组件。但由于某种原因它不会显示。我到底做错了什么?

BlankBody 是一个包含我将用于多个视图的背景的组件。

<template>
<div>
<Header/>
<AppNavigation/>
  <BlankBody>
    <b-card
          title="Card Title"
          img-src="https://picsum.photos/600/300/?image=25"
          img-alt="Image"
          tag="article"
          style="width: 50%; margin-left: 25%;  overflow: visible ;"
          class="mb-1"
  >
      <b-card-text>
          Some quick example text to build on the card title and make up the bulk of the card's content.
      </b-card-text>

      <b-button href="#" variant="primary">Go somewhere</b-button>
    </b-card>
  </BlankBody>
 </div>
</template>

<script>
import AppNavigation from "../components/AppNavigation";
import Header from "../components/Header";
import BlankBody from "../components/BlankBody";

export default {
components: {
Header,
AppNavigation,
  BlankBody
},
};
</script>

这就是我在 main.js 中导入 VueBootstrap 的方式:

import Vue from "vue";
import App from "./App.vue";
import router from "./router";
import store from "./store";
import vuetify from './plugins/vuetify';
import BootstrapVue from 'bootstrap-vue';
import 'bootstrap/dist/css/bootstrap.css';
import 'bootstrap-vue/dist/bootstrap-vue.css';
import '@babel/polyfill';

Vue.config.productionTip = false;
Vue.use(BootstrapVue)
new Vue({
  router,
  store,
  vuetify,
  render: h => h(App)
}).$mount("#app");

这是我的 BlankBody 组件(我知道我需要编辑这个名称):

<template>
    <div>
    <v-img :src="require('../assets/background4.png')" width="1920px" height="1080px"></v-img>
    </div>
</template>

<script>
    export default {
        name: "BlankBody"
    }
</script>

<style scoped>
</style>

【问题讨论】:

  • 你的blankbody是做什么的,有slot吗?由于您的b-card 被放置在blankbody 中,它应该有一个
  • 您如何在项目中使用 BootstrapVue(Vue.use(...) 等)?
  • @TroyMorehouse 我编辑了帖子,其中包含我的 main.js 和 BlankBody 组件
  • 空白正文不会呈现默认插槽(这是您的 &lt;b-card&gt; 所在的位置。
  • 另外注意,import '@babel/polyfill'; 应该放在你的应用入口文件的最前面

标签: vue.js bootstrap-vue


【解决方案1】:

您的 &lt;BlankBody&gt; 组件不会呈现通过默认插槽传递给它的任何内容。

改成这样:

<template>
  <div>
    <v-img :src="require('../assets/background4.png')" width="1920px" height="1080px"></v-img>
    <slot></slot>
  </div>
</template>

【讨论】:

  • 我将此插槽添加到我的 BlankBody 组件中,并将 b-card 放置在我页面中的 标记之间,它现在呈现卡片。只有它在背景下渲染它,而不是与它重叠的卡片。是否有解释 vue 重叠元素的指南?
  • 重叠由 CSS 定位和 z-indexes 控制
猜你喜欢
  • 2016-07-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-06-09
  • 1970-01-01
  • 2019-05-07
  • 2017-05-15
  • 2022-01-08
相关资源
最近更新 更多