javascript - Bootstrap-vue 导航栏未按预期呈现

标签 javascript vue.js bootstrap-vue bootstrap-5

我正在使用 bootstrap-vue 并尝试在应用程序中创建导航栏组件,我使用的是 this link 文档中提供的第一个示例,我已按照 bootstrap-vue 说明中的说明安装了所有依赖项。我正在尝试将此导航栏用作组件,并使用以下代码来创建和渲染它。
导航栏.vue

<template>
  <div>
  <b-navbar toggleable="lg" type="dark" variant="info">
    <b-navbar-brand href="#">NavBar</b-navbar-brand>

    <b-navbar-toggle target="nav-collapse"></b-navbar-toggle>

    <b-collapse id="nav-collapse" is-nav>
      <b-navbar-nav>
        <b-nav-item href="#">Link</b-nav-item>
        <b-nav-item href="#" disabled>Disabled</b-nav-item>
      </b-navbar-nav>

      <!-- Right aligned nav items -->
      <b-navbar-nav class="ml-auto">
        <b-nav-form>
          <b-form-input size="sm" class="mr-sm-2" placeholder="Search"></b-form-input>
          <b-button size="sm" class="my-2 my-sm-0" type="submit">Search</b-button>
        </b-nav-form>

        <b-nav-item-dropdown text="Lang" right>
          <b-dropdown-item href="#">EN</b-dropdown-item>
          <b-dropdown-item href="#">ES</b-dropdown-item>
          <b-dropdown-item href="#">RU</b-dropdown-item>
          <b-dropdown-item href="#">FA</b-dropdown-item>
        </b-nav-item-dropdown>

        <b-nav-item-dropdown right>
          <!-- Using 'button-content' slot -->
          <template #button-content>
            <em>User</em>
          </template>
          <b-dropdown-item href="#">Profile</b-dropdown-item>
          <b-dropdown-item href="#">Sign Out</b-dropdown-item>
        </b-nav-item-dropdown>
      </b-navbar-nav>
    </b-collapse>
  </b-navbar>
</div>
</template>

<script>
export default {
  name: 'NavBar',
  data () {
    return {}
  }
}
</script>

应用程序.vue
 <template>
      <div>
        <NavBar></NavBar>
        <div id="app">
          <router-view />
        </div>
      </div>
    </template>
    
    <script>
    import NavBar from '@/components/NavBar'
    
    export default {
      components: {
        NavBar: NavBar
      },
      name: 'App'
    }
    </script>
    
    <style>
    #app {
      font-family: 'Avenir', Helvetica, Arial, sans-serif;
      -webkit-font-smoothing: antialiased;
      -moz-osx-font-smoothing: grayscale;
      text-align: center;
      color: #2c3e50;
      margin-top: 60px;
    }
    </style>
预期输出与我的结果
期望
要查看预期输出,请关注 this link
结果
我没有足够的声誉来发布图片,但是如果需要进一步得出结论,我可以上传屏幕截图,基本上导航栏发生的事情是它渲染得很好,很明显 Bootstrap 的某些元素(对于例如下拉菜单和搜索栏)但是,navbar.vue 第 15 行的 ml-auto 对具有其类的导航栏项目没有任何影响。导航栏项目都聚集在左侧,还有一些奇怪的边距错误。我发现了一个类似的堆栈溢出问题,并发现成功解决了 ml将其替换为 ms 后无法解决问题但是无法在文档中找到它让我厌倦了使用它作为解决方案,它也不会阻止搜索栏和搜索按钮的奇怪聚类。如果一切配置正确,代码应该像示例中那样运行,因为它可以在 playground 上运行。引导文档的组成部分。
其他stackoverflow文章
还有另一篇 stackoverflow 文章讨论了 ml-auto 如何在 bootstrap 5 中不起作用,以及如何使用 ms-auto 但是我没有在 bootstrap 5 中找到任何 ms 类的文档。
要阅读该文章,请关注 this link

最佳答案

根据我的评论 - Bootstrap-vue 不适用于 bs5:“BootstrapVue 拥有超过 85 个组件、超过 45 个可用插件、多个指令和 1200 多个图标,提供了 Bootstrap v4 组件和网格的最全面的实现之一可用于 Vue.js v2.6 的系统"
https://bootstrap-vue.org/

关于javascript - Bootstrap-vue 导航栏未按预期呈现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68264165/

相关文章:

javascript - PEG.js 允许两个标签之间的任何文本

playframework - 在 Play 框架应用程序中使用 Vue.js

vue.js - 组件的 Vue 提交按钮不提交

vue.js - 如何更改 bootstrap-vue 中分页的颜色?

javascript - 带有 bootstrap vue 的可拖动表格

javascript - 如何在不使用 jquery 的情况下动态向引导按钮添加禁用属性

javascript - mergeMap 运算符的用例是什么?

javascript - urlroot 返回 null 时的 Backbone.js 模型处理

javascript - Firebase 数据库权限被拒绝错误

vue.js - Vuejs 阻止在 contenteditable 中添加新行